我想使用VideoCaptureAPI(cv2.CAP_DSHOW)来调整分辨率。链接:https://reurl.cc/NXZgp6
因为我不能将比例更改为16:9。尽管我将分辨率设置为1280*720,但它始终是4:3。它不工作,但给了我一个这样的图像。

摄像头是罗技C992专业流摄像头。而且我已经升级了驱动程序。
有人知道怎么修吗?
import cv2
cap = cv2.VideoCapture(1,cv2.CAP_DSHOW)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
while(True):
ret, frame = cap.read()
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()错误码如下:
Traceback (most recent call last):
File "d:/VisualCode/Weight Scale2/test.py", line 3, in <module>
cap = cv2.VideoCapture(1,cv2.CAP_DSHOW)
TypeError: VideoCapture() takes at most 1 argument (2 given)发布于 2021-01-29 11:12:27
解决方案好的,所以我使用python3.7.9和opencv 4.5.1.48解决了这个问题,它工作了!!我认为在某些版本的python中使用opencv时,会有一些定义冲突,比如3.6和3.8。
所以我刚刚升级了python环境和opencv版本:
pip install --upgrade opencv-python==4.5.1.48希望这个答案能有所帮助。
https://stackoverflow.com/questions/65914869
复制相似问题