使用opencv在特定区域周围绘制圆圈

Drawing circles around a certain area with opencv

我正在编写访问我的相机的代码,将输出转换为灰度,应用高斯模糊找到最亮的 area/pixel 并将其圈起来。 除了画圆部分以外的所有东西都可以正常工作。我尝试使用的命令对我没有任何作用。有人有想法吗? 我正在使用 opencv、python 2.7 和 Windows 计算机!

这是代码:

import cv2
import numpy as np

cv2.namedWindow("spot")
cam = cv2.VideoCapture(0)

if cam.isOpened(): 
    rval, frame = cam.read()
else:
    rval = False

while rval:

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    gray = cv2.GaussianBlur(gray,(21,21), 0)
    (minVal, maxVal, minLoc, maxLoc) = cv2.minMaxLoc(gray)

    cv2.imshow("spot", gray)
    rval, frame = cam.read()
    key = cv2.waitKey(20)

    if key == 27: 
        break
    cv2.destroyWindow("spot")

这是我到目前为止一直在尝试添加的行:

cv2.circle(gray, maxLoc, 21, (255, 0, 0), 2)

您正在尝试在灰色图像上绘制色环, 相反,您可以在原始颜色框架上制作圆圈

cv2.circle(frame, maxLoc, 10, (255, 0, 0) )
cv2.imshow("spot",frame)