Как найти фиксированное число (почти) фиксированных прямоугольников пропорций с opencv?
Я пишу простое программное обеспечение для отслеживания летучих мышей, и мне бы очень хотелось получить от экспертов opencv.
Изображение, которое у меня есть, выглядит примерно так:
![sample image for fly tracking]()
Я использовал отслеживание с использованием kmeans и PIL/numpy, но я переписал все, чтобы использовать обнаружение blob в opencv. Отслеживание работает нормально, но я также хотел бы автоматизировать разделение ROI.
Мне нужно найти каждый из 32 пазов, которые появляются на картинке, где живут мухи. Смотрите черный прямоугольник на изображении в качестве примера того, что я имею в виду.
Я думаю, что cornerHarris может быть тем, что мне нужно, но как я могу указать только пазы, а не каждый отдельный прямоугольник, найденный на изображении? Все эти канавки имеют пропорции примерно 10: 1.
Спасибо!
Ответы
Ответ 1
Я не думаю, что cvCornerHarris даже близок к тому, что вам нужно.
Гораздо лучше начать эксперимент с демонстрацией, доступной по адресу: OpenCV-2.3.0/samples/cpp/squares.cpp
. В этом методе используются Canny()
, dilate()
и findCountour()
.
Прямо из коробки эти демонстрационные выходы:
![enter image description here]()
Я считаю, что с некоторыми трюками здесь и там вы можете начать свою вечеринку.