Линия, пересекающая контур в openCv

У меня есть контур объекта... и линия...
объект движется... но линия > постоянна..
Я хочу знать точки, в которых контур пересекает линию..

Например:- Возьмем пример автомобильной гонки, в которой это финишная линия..
У меня есть контур автомобиля и финишная линия.
Я хочу знать точки на контуре, которые пересекаются финишная черта.


person Wazy    schedule 28.12.2011    source источник


Ответы (1)


Пересеките контур объекта с контуром линии (используйте numpy.logical_and( object_mask, line_mask )), и все точки, где результирующее изображение не равно нулю, являются точками пересечения.

person mathematical.coffee    schedule 28.12.2011
comment
Пожалуйста, дайте мне больше информации о numpy.logical_and( object_mask, line_mask )).... Буду признательна за любые ссылки... - person Wazy; 28.12.2011
comment
Извините, numpy используется в интерфейсе Python. По сути, вы получаете изображение нулей и рисуете на нем контур, и вы получаете другое изображение нулей и рисуете на нем линию, а затем проходите по каждому пикселю и AND их вместе. То есть сохраните TRUE, если значения пикселей в обоих изображениях положительны, и FALSE в противном случае. Полученное изображение будет ИСТИННЫМ, если контур пересекает линию, и ЛОЖНЫМ в противном случае. - person mathematical.coffee; 28.12.2011