人们询问如何设置框架高度/宽度的问题和相应的答案数量巨大。下面是一个小样本:
- > Unable to change frame height, width in OpenCV
- > OpenCV (via python) on Linux: Set frame width/height?
- > Setting frame size of QuickCam Pro 3000 with OpenCV?
- > Increasing camera capture resolution in OpenCV
我知道 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)
我正在使用 Ubuntu 14.04 并在 Python 中使用 OpenCV 2.4.8。
我找到了 this已接受 answer 的问题建议我应该能够使它工作。我不知道该怎么做:
What you can do is to investigate your camera driver, make a patch to OpenCV and send it to code.opencv.org. This way others will enjoy your work, the same way you enjoy other's.
最佳答案
您可以尝试在显示之前调整每一帧的大小,请参见下面的代码。
确定缩放比例
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)
在显示之前使用 cv2.resize 应用所需的缩放比例。
# resize output window
resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)
#show resized frame
cv2.imshow("base_img", resized)
希望这对您有所帮助。 :)
关于python - 为什么不总是设置框架宽度/高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27914780/