如何在OpenCV中更改PS5相机的分辨率



我正在尝试在OpenCV、Python中更改PS5相机的分辨率。

问题是PS5相机在PC上不受官方支持,我必须使用GitHub中的自定义相机驱动程序:https://github.com/Hackinside/PS5_camera_files

此代码的默认图像分辨率为640x376

self.capture = cv2.VideoCapture(name)

我发现这款相机支持的分辨率是640x376和5148×1088,所以我试着做下一步:

res = self.capture.set(cv2.CAP_PROP_FRAME_WIDTH, 5148)
res = self.capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 1088)

但在这两种情况下,res都是False,并且分辨率不变。我只能收到小分辨率的帧。

相机100%可以在5148×1088中工作,因为如果我启动Windows相机应用程序,它会向我显示高质量的图像

好吧,问题是,我有一段代码,我使用循环从捕获中读取了一个帧:

while True:
self.capture.read()

这是一个平行的线程,所以改变分辨率的同时读取图像。这就是为什么变更解决过程总是失败的原因。

因此,如果您在开始读取图像之前执行此操作,那么所提供的有问题的代码应该可以工作。

最新更新