我遇到了一个莫名其妙出现的非常奇怪的问题,同样的代码以前没有引起这个问题。
以下代码,我第一次运行它时,它从我连接的外部摄像头读取帧;我第二次运行它时,它从我的 MacBook 的内置摄像头读取了帧;第三次它从外部摄像头读取帧。
一直在切换,我不知道怎么解决,我希望
cameraCapture = cv2.VideoCapture(0)
总是从外接摄像头获取画面。
import cv2
cameraCapture = cv2.VideoCapture(1)
# read
success, frame = cameraCapture.read()
while success and cv2.waitKey(1) == -1:
img = frame
cv2.imshow("Mine", img)
success, frame = cameraCapture.read()
有什么办法可以获取某个编号的摄像头的数据,比如名称、分辨率等?
您可以使用
cameraCapture.get(<property id>)
获取捕获设备的不同属性。 这里有它们的完整列表,但您正在寻找的是:
cv.CAP_PROP_FRAME_WIDTH
为宽度cv.CAP_PROP_FRAME_HEIGHT
代表身高。