我正在java中开发一个opencv应用程序,我需要检测产品上的不同标记。I have attached the input image below 在那张图片中,我需要识别非蔬菜标记。
由于我是新手,我需要帮助才能知道可以使用哪些概念。 我需要在输入图像上识别these marks
答案 0 :(得分:0)
经过艰苦的努力,我得出了一个粗略的解决方案。
首先 ,我将 veg 和非veg 标签分开。
现在,为了让非veg 标签与图像完美契合,我将其重新调整为特定级别:
small = cv2.resize(nveg, (0,0), fx=0.12, fy=0.12)
现在我按照我在评论中所说的那样执行了 模板匹配 部分。要详细了解此主题VISIT THIS PAGE。
使用它我获得了' 最大可能位置'图像中的非蔬菜标签。
res = cv2.matchTemplate(food, small, cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
在下图中注意非蔬菜标记位置的亮点:
现在使用max_loc
变量,我将元组值添加到已调整大小的非veg标签的大小,并用矩形框起来,如下所示:
当我使用max_loc
标记时,您可以看到非素食标记上的黑点:
希望这有帮助。 :)