#include <iostream>
#include <opencv2/opencv.hpp>
#include <cstdlib>
using namespace std;
using namespace cv;
int main()
{
Mat frame, yuv;
VideoCapture capture;
int w = 320;
int h = 240;
capture.open(0);
capture.set(CV_CAP_PROP_FRAME_WIDTH,w);
capture.set(CV_CAP_PROP_FRAME_HEIGHT,h);
/*
VideoCapture capture;
int w = 1280;
int h = 720;
string filename = "./xx.mp4";
capture.open(filename);
*/
if(!capture.isOpened())
{
cerr << "No camera or video input!\n";
return -1;
}
int bufLen = w*h*3/2;
unsigned char* pYuvBuf = new unsigned char[bufLen];
FILE* pFileOut = fopen("xx.yuv", "wb");
if (!pFileOut)
{
printf("pFileOut open error \n");
system("pause");
exit(-1);
}
int cnt = 0;
while(true)
{
capture >> frame;
if(frame.empty())
continue;
imshow(&
利用opencv将录制的rgb图像转化为yuv文件并保存。
最新推荐文章于 2024-08-11 08:45:06 发布
使用OpenCV从摄像头或视频文件中读取RGB帧,将其转换为YUV格式,并将结果保存为.yuv文件。通过循环处理每一帧,实现颜色空间转换并写入文件,最终可以通过yuvviewer等工具验证转换的准确性。
摘要由CSDN通过智能技术生成