使用openCV通过网络摄像头制作实时草图编辑器

时间:2018-09-12 14:31:02

标签: python python-3.x opencv opencv3.0

我正在尝试使用openCV模块制作实时草绘器,但是cv2.imshow函数显示错误。我已附上错误的屏幕截图。 请帮助。

import cv2
def sketch(img):
   img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
   img_gray_blur=cv2.GaussianBlur(img_gray,(5,5),0)
   canny_edges=cv2.Canny(img_gray_blur,10,70)
   ret,mask=cv2.threshold(canny_edges,70,255,cv2.THRESH_BINARY)
   return mask
cap=cv2.VideoCapture(0)
while True:
   ret,frame=cap.read()
   cv2.imshow('live sketcher',sketch(frame))
   if cv2.waitKey():
       break
cap.release()
cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:1)

之所以发生这种情况,是因为您的循环仅循环一次,这是因为

if cv2.waitKey():
    break

将此更改为

if cv2.waitKey(1)==13: #13 is the enter Key
    break

在第一帧之后关闭窗口。 希望这会有所帮助