是否可以在图像上的色点周围画圈?

Is it possible to circle around the color spot on an image?

我正在做一个图像处理项目。我想绕着黄点圈如下。

如何知道那个位置?我试图从图像数据(列表)中找到值,但我仍然不知道如何知道那个位置以及如何圈出它。

请帮助我。

这是我的示例代码:

import cv2
import numpy as np

cap = cv2.imread("img.jpg")
cap = cv2.resize(cap, (500, 500))

hsv_frame = cv2.cvtColor(cap, cv2.COLOR_BGR2HSV)

# Yellow color
low_yellow = np.array([21, 39, 64])
high_yellow = np.array([40, 255, 255])
yellow_mask = cv2.inRange(hsv_frame, low_yellow, high_yellow)

yellow = cv2.bitwise_and(cap, cap, mask=yellow_mask)

cv2.imshow("Frame", cap)
test = cv2.imshow("Yellow", yellow)
cv2.imwrite("yellowSpot.jpg", yellow)

key = cv2.waitKey(0)

这是我使用 GRIP 及其 auto-generated 代码的解决方案(这是一个很好的 GUI,用于以图形 easy-to-experiment 方式构建图像处理功能) :

我的图像处理“管道”:

图像处理函数:

  1. 模糊(去除图像中所有的小噪声点,并保留黄色点)

  2. HSV 阈值(仅显示黄色点)

  3. Find Blobs(找到黄色斑点并在其周围画圈)

这里是link下载GRIP软件

这是我所有文件的 link(包括 auto-generated Python 图像处理管道)