Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 捕获图像的cv2分辨率_Python_Opencv_Cv2 - Fatal编程技术网

Python 捕获图像的cv2分辨率

Python 捕获图像的cv2分辨率,python,opencv,cv2,Python,Opencv,Cv2,您好,我有一个简单的代码: from cv2 import * import time # initialize the camera for x in range (10): cam = VideoCapture(0) # 0 -> index of camera s,img = cam.read() imwrite(str(x) + ".jpg",img) #save image time.sleep(3) print(x) ca

您好,我有一个简单的代码:

from cv2 import *
import time
# initialize the camera


for x in range (10):
    cam = VideoCapture(0)   # 0 -> index of camera
    s,img = cam.read()
    imwrite(str(x) + ".jpg",img) #save image
    time.sleep(3)
    print(x)
    cam.release()
我想知道两件事: -我的网络摄像头的默认分辨率高于脚本保存图片时使用的分辨率?
-是否有任何命令可以检查网络摄像头的最大分辨率(我想将此分辨率设置为默认输出)?

实际上有办法检查网络摄像头的默认分辨率

  • 首先使用
    cap=cv2.VideoCapture(0)
    启动网络摄像头
  • 然后使用
    get()
    方法,输入以下内容,在打印
    w
    h
    时,您将获得网络摄像头的宽度和高度:

    w = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
    h = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
    
这是对你第二个问题的回答。是的,您可以通过使用以下
set()
方法选择所选的宽度和高度来更改网络摄像头的分辨率:

cap.set(cv2.CAP_PROP_FRAME_WIDTH, width)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, height)
即使更改宽度和高度,相机驱动程序也会保持纵横比。因此,您可能无法始终获得您期望的准确高度/宽度

示例:当我将宽度和高度分别设置为80时。它没有设定它。它将宽度设置为320,高度设置为180。同样,当我将两者都设置为800时,它返回的宽度为848,高度为480


相机驱动程序保持了纵横比。

对我没有影响-必须使用cv2.resize:\