使用opencv在某个区域周围绘制圆圈

时间:2016-08-11 14:13:25

标签: python opencv numpy camera gaussianblur

我正在处理访问我的相机的代码,将输出转换为灰度,应用高斯模糊找到最亮的区域/像素并圈出它。 除了绘制圆圈部分之外的所有东西都可以正常工作。我试图使用的命令对我没有任何帮助。有人有想法吗? 我正在使用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)

1 个答案:

答案 0 :(得分:0)

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

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