该代码应导致从相机捕获视频(从 opencv 文档复制),但会发生错误。
编码:
import cv2
import numpy as np
cap = cv2.VideoCapture()
while(True):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame', gray)
if cv2.waitKey(1) % 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
错误:
File "main.py", line 8, in <module> gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.error: OpenCV(3.4.3) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:181: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
您没有指定相机编号- 第一个(或唯一一个)相机编号
0
。所以相反
写
笔记:
Python中的命令不需要括号,
while
只需编写while True:
代替
需要使用
或者 - 更好 - 更快的按位运算
&
:因为结果不一样。