使用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)
我正在编写访问我的相机的代码,将输出转换为灰度,应用高斯模糊找到最亮的 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)