我正在尝试使用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()
答案 0 :(得分:1)
之所以发生这种情况,是因为您的循环仅循环一次,这是因为
if cv2.waitKey():
break
将此更改为
if cv2.waitKey(1)==13: #13 is the enter Key
break
在第一帧之后关闭窗口。 希望这会有所帮助