OpenCV - 使用 Java 识别图像中的特定对象

OpenCV - Identifying particular object in image using Java

我正在 java 开发一个 opencv 应用程序,我需要在其中检测产品上的不同标记。I have attached the input image below 在那张图片中,我需要识别非蔬菜标记。

由于我是新手,我需要帮助才能知道哪些概念可以用于它。 我需要在输入图像

上识别 these marks

经过一番努力,我想出了一个粗略的解决方案。

首先,我把veg[=64分开了=]个标签。

&

现在,为了使 non-veg 标签完美贴合图像,我将其调整为特定级别:

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)

下图中注意non-veg标记位置的亮点:

现在使用 max_loc 变量,我将元组值添加到调整大小后的 non-veg 标签的大小,并用矩形将其框起来,如下所示:

当我使用 max_loc:

标记时,您可以看到 non-veg 标记上的黑点

希望这对您有所帮助。 :)