我正在使用 python 和 opencv 来拍摄图像;但是,图像质量未显示正确尺寸的图像

I am using python and opencv to take an image; however, the image quality is not displaying the correct size image

我正在使用 python 和 opencv 拍摄图像;但是,图像质量未显示正确尺寸的图像。

当我运行:

import cv2

cap = cv2.VideoCapture(0)
width=cap.get(3)
height=cap.get(4)
print(width,height)

这是打印以下内容,即使它是 8-megapixel 相机:

640.0 480.0

为什么 OpenCV 拍摄的图像质量比相机制造商宣传的低很多?

有时,在 Raspberry Pi 上的 OpenCV 中,图像质量可能默认为较低分辨率。您可以使用以下函数手动设置分辨率:

import cv2

def set_res(cap, width, height):
    cap.set(3, width)
    cap.set(4, height)

cap = cv2.VideoCapture(0)
set_res(cap, 1920, 1080)   # For 1080P
# set_res(cap, 3264, 2448)  <<< For full 8 megapixel capability

请注意,如果您选择显示框架,它可能比您的计算机屏幕大得多,具体取决于您自己的显示器分辨率。