查询OpenCV中的最大网络摄像头分辨率

cbu*_*art 3 c++ webcam opencv resolution

我正在处理几种类型的相机,我需要知道每种相机的最大分辨率.

有没有办法在OpenCV中查询这样的属性?

如果没有,还有其他方法吗?该应用程序将在Windows下运行(目前),所有项目都是使用C++开发的.

小智 11

一个适合我的技巧:

只需设置一个非常高的分辨率(高于任何常用捕获设备的功能),然后获得当前的分辨率.您将看到设备将自动切换到其最大值.

使用OpenCV 3.0的Python中的代码示例:

HIGH_VALUE = 10000
WIDTH = HIGH_VALUE
HEIGHT = HIGH_VALUE

self.__capture = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
self.__capture.set(cv2.CAP_PROP_FRAME_WIDTH, WIDTH)
self.__capture.set(cv2.CAP_PROP_FRAME_HEIGHT, HEIGHT)

width = int(self.__capture.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(self.__capture.get(cv2.CAP_PROP_FRAME_HEIGHT))
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.