Я хочу создать программу, которая может обнаружить объект квадратной формы в видео. Я использовал алгоритм SURF для этого. но это только определяет ключевые моменты.Как обнаружить объект квадратной формы в видео с помощью opencv?
ответ
Обычный способ был бы обнаружить края с canny filter то А hough transform найти строки, а затем найти пары линий с наклонами, которые 90deg разными
Сэр благодарим вас за ваш ответ. Я использовал преобразование hough для обработки изображений? но работает ли это для обработки видео? – Thar1988
@ Tk1988 - видео - это просто изображения. Если скорость имеет значение, вы можете использовать другую технику, чтобы быстро проверить, находится ли квадрат в том же месте, что и последний кадр, и если он снова не сделает Hough. Или вы можете ограничить пространство поиска Hough параметрами рядом с последним хитом. –
Вы, похоже, не искали ничего об этом. Если бы у вас было, вы бы нашли код для этого права на своем компьютере.
Код для определения квадратов (в частности, прямоугольник, вы можете немного модифицировать его для квадратов) поставляется непосредственно с образцами opencv, и вы получаете его при загрузке библиотеки OpenCV.
Вы не указали язык, на котором работаете. Но код поставляется в Python и C++.
Как это работает:
- Разделить изображение для R, G, B плоскости
- Для каждой плоскости порога изображения для диапазона значений в 0 до 255
- Найдите контуры, приблизительные и выберите только 4 точки
- Найти косинус угла между всеми линиями контура и проверить, закрыты ли они до 90
- Если это так, это прямоугольник
- Если вы хотите квадрат, проверьте, все ли его стороны почти равны.
Это работает очень хорошо. И если вы это видели, и это не то, что вам нужно, обновите свой вопрос с более подробной информацией, включая некоторые тестовые изображения.
Прежде чем спросить, у вас есть сомнения и даже поиск в SOF для аналогичного вопроса.
Надеюсь, что это поможет !!!
. В Stackoverflow есть много примеров, которые показывают, как выполнять эти 2 задания отдельно, я говорю о них [здесь] (http://stackoverflow.com/questions/10788271/how-to-find-object-on-video-using-opencv), когда я ответил на его другой вопрос. Я считаю, что этот вопрос здесь - это дубликат. – karlphillip
Да, просто проверил эту ссылку. Ссылка на квадратное обнаружение четко указана в вашем ответе. Не нужно было задавать этот вопрос, если он не хотел чего-то другого. –
Возможный дубликат [Как найти объект на видео с помощью OpenCV] (http://stackoverflow.com/questions/10788271/how-to-find-object-on-video-using-opencv) – karlphillip
@karlphillip: one больше +1 для вас за «ужасный» комментарий. –