После довольно тяжелой борьбы я смог придумать грубое решение.
Первый, я отделил и овощи не-Вег этикетки.
&
Теперь для того, чтобы получить идеальное прилегание не-Векло наклейки над изображением I изменением размеров его до определенного уровня:
small = cv2.resize(nveg, (0,0), fx=0.12, fy=0.12)
Сейчас я провел Соответствие шаблону:, как я сказал в разделе комментариев. Чтобы узнать больше об этой теме VISIT THIS PAGE.
Использование этого я получил «максимально возможное место» ярлыка non-veg на изображении.
res = cv2.matchTemplate(food, small, cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
В следующем внимании изображения получки на яркое пятно в положении не-Вег знака:
Теперь, используя переменную max_loc
, я добавил значение кортежа к размеру в измененной не-Вег этикетки и обрамлен его с прямоугольником, как показано ниже:
Вы можете увидеть черное пятно на отметке не-Век, когда я назвал его помощью max_loc
:
Надеется, что это помогло. :)
Вы можете попробовать ** сопоставление шаблонов ** для этой проблемы. Измените размер логотипа изображения «не-veg» на переменные размеры и запустите движущееся окно над исходным изображением (образ пищи). Проверьте, где именно совпадающий логотип соответствует исходному изображению. –
«логотип veg & non-veg» иногда имеет цветовые вариации. – user3429291
ok сначала проверьте, соответствует ли шаблон (логотип) изображению для определенного размера. Если это произойдет, вы решите, будет ли он «зеленым» или «красным». Вы можете задать диапазон для красного и зеленого цветов в цветовом пространстве HSV! –