2012-06-05 1 views
-1

Я хочу создать программу, которая может обнаружить объект квадратной формы в видео. Я использовал алгоритм SURF для этого. но это только определяет ключевые моменты.Как обнаружить объект квадратной формы в видео с помощью opencv?

+0

Возможный дубликат [Как найти объект на видео с помощью OpenCV] (http://stackoverflow.com/questions/10788271/how-to-find-object-on-video-using-opencv) – karlphillip

+1

@karlphillip: one больше +1 для вас за «ужасный» комментарий. –

ответ

3

Обычный способ был бы обнаружить края с canny filter то А hough transform найти строки, а затем найти пары линий с наклонами, которые 90deg разными

+0

Сэр благодарим вас за ваш ответ. Я использовал преобразование hough для обработки изображений? но работает ли это для обработки видео? – Thar1988

+1

@ Tk1988 - видео - это просто изображения. Если скорость имеет значение, вы можете использовать другую технику, чтобы быстро проверить, находится ли квадрат в том же месте, что и последний кадр, и если он снова не сделает Hough. Или вы можете ограничить пространство поиска Hough параметрами рядом с последним хитом. –

1

Вы, похоже, не искали ничего об этом. Если бы у вас было, вы бы нашли код для этого права на своем компьютере.

Код для определения квадратов (в частности, прямоугольник, вы можете немного модифицировать его для квадратов) поставляется непосредственно с образцами opencv, и вы получаете его при загрузке библиотеки OpenCV.

Вы не указали язык, на котором работаете. Но код поставляется в Python и C++.

Python, C++

Как это работает:

  • Разделить изображение для R, G, B плоскости
  • Для каждой плоскости порога изображения для диапазона значений в 0 до 255
  • Найдите контуры, приблизительные и выберите только 4 точки
  • Найти косинус угла между всеми линиями контура и проверить, закрыты ли они до 90
  • Если это так, это прямоугольник
  • Если вы хотите квадрат, проверьте, все ли его стороны почти равны.

Это работает очень хорошо. И если вы это видели, и это не то, что вам нужно, обновите свой вопрос с более подробной информацией, включая некоторые тестовые изображения.

Прежде чем спросить, у вас есть сомнения и даже поиск в SOF для аналогичного вопроса.

Надеюсь, что это поможет !!!

+0

. В Stackoverflow есть много примеров, которые показывают, как выполнять эти 2 задания отдельно, я говорю о них [здесь] (http://stackoverflow.com/questions/10788271/how-to-find-object-on-video-using-opencv), когда я ответил на его другой вопрос. Я считаю, что этот вопрос здесь - это дубликат. – karlphillip

+1

Да, просто проверил эту ссылку. Ссылка на квадратное обнаружение четко указана в вашем ответе. Не нужно было задавать этот вопрос, если он не хотел чего-то другого. –

 Смежные вопросы

  • Нет связанных вопросов^_^