为什么不总是设置框架宽度/高度?

eva*_*n54 5 python camera opencv driver

有大量问题和人们询问如何设置框架高度/宽度的相应答案。下面是一个小样本:

我知道 OpenCV 有时会在设置框架高度/宽度时出现问题。就我而言,我可以将宽度/高度范围设置为 640 x 512。相机的驱动程序由制造商提供(即不是 v4l2 或类似的东西)。我可以提供哪些调试信息,或者我如何帮助他们理解为什么我不能设置更高的宽度/帧。驱动程序是否有问题,OpenCV 两者都有?

import cv2
c = cv2.VideoCapture(1)
c.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, 1280)
c.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 1024)
Run Code Online (Sandbox Code Playgroud)

我在 Python 中使用 Ubuntu 14.04 和 OpenCV 2.4.8。

我发现这个问题有一个公认的答案,表明我应该能够让它发挥作用。我不知道如何做这部分:

您可以做的是调查您的相机驱动程序,为 OpenCV 制作补丁并将其发送到 code.opencv.org。这样别人会喜欢你的工作,就像你喜欢别人的一样。

Dyl*_*man 0

您可以尝试在显示之前调整每个框架的大小,请参阅下面的代码。

确定缩放比例


scale_percent = 40 # percent of original size
width = int(img.shape[1] * scale_percent / 100) 
height = int(img.shape[0] * scale_percent / 100) 
dim = (width, height) 

Run Code Online (Sandbox Code Playgroud)

在显示之前,使用 cv2.resize 应用所需的缩放。


# resize output window
resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA) 

#show resized frame
cv2.imshow("base_img", resized)

Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。:)