gpt4 book ai didi

c++ - 在 Opencv 中更改提取帧的分辨率

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:25 24 4
gpt4 key购买 nike

我有一个 H.264 视频流,我需要从中提取帧。但是当我提取帧时,质量真的很差,因为我需要进行颜色分割!我想知道如何提取帧并将其转换为 B G R 以获得更好质量的图片。

这是我目前的代码:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(){
VideoCapture capture("1.dv4");
if(!capture.isOpened())
return 1;

double rate=capture.get(CV_CAP_PROP_FPS);

bool stop(false);

Mat frame;
namedWindow("Extracted Frame",CV_WINDOW_NORMAL);

cout <<"Rate is="<<rate;

int delay=1000/rate;

while(!stop){
if(!capture.read(frame))
break;

imshow("Extracted Frame",frame);
imwrite("C:/Users/DELL/Documents/Visual Studio 2010/Projects/VideoFrameCapture/VideoFrameCapture/frame.jpg",frame);

if(waitKey(delay)>=0)
stop=true;
}
capture.release();
waitKey(0);
return 1;
}

最佳答案

打开 VideoCapture 后,添加以下内容:

 capture.set(CV_CAP_PROP_CONVERT_RGB, 1);

关于c++ - 在 Opencv 中更改提取帧的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19873208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com