2016-08-11 4 views
0

Я работаю над кодом, который обращается к моей камере, превращает вывод в оттенки серого, применяя гауссовское размытие, находит самую яркую область/пиксель и крутит его. Все, кроме чертежной части, отлично работает. Команда, которую я пытаюсь использовать, ничего не делает для меня. У кого-нибудь есть идея? Я работаю с opencv, python 2.7 и Windows Computer!Рисование кругов вокруг определенной области с opencv

Это код:

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) 

ответ

0

Вы пытаетесь нарисовать цветовой круг на сером изображении, вместо этого вы можете сделать круг на исходной цветной рамке

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

Это сработало для меня! Большое спасибо! – Jennan

+0

Его приятно помочь u @Jennan –