import cv2.cv as cv
import time
from subprocess import Popen
capture = cv.CaptureFromCAM(0)
num = 0
while True:
img = cv.QueryFrame(capture)
cv.SaveImage('pic'+str(num)+'.jpg', img)
if num == 500:
del(capture)
break
if cv.WaitKey(10) == 27:
break
num += 1
我使用opencv以python语言捕获图像。使用网络摄像头拍摄的图像分辨率为480×640。我需要提高分辨率。那么我该怎么做呢?代码如下。
答案 0 :(得分:0)
使用VideoCapture类的设置功能,您可以将分辨率更改为特定值。这是一个示例c ++程序:
#include"opencv2/opencv.hpp"
using namespace std;
int main()
{
VideoCapture cap(0);
cap.set(CV_CAP_PROP_FRAME_WIDTH, 1920);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);
Mat frame;
cap >> frame;
imwrite("test.jpg",frame);
}
你也可以在python中找到类似的功能。有关详细信息,请参阅this。您可以使用 VideoCapture的 get
函数来获取凸轮宽度或高度的当前值,如:
cap.get(CV_CAP_PROP_FRAME_HEIGHT);
希望这能解决您的问题。 感谢。