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:\