OpenCV(C++):如何显示 yuv 文件?
Posted
技术标签:
【中文标题】OpenCV(C++):如何显示 yuv 文件?【英文标题】:OpenCV (C++) : How to imshow yuv file? 【发布时间】:2020-09-16 19:45:49 【问题描述】:我正在用 C++ 学习 OpenCV,但是出了点问题..
我想显示 yuv 文件,但我的代码出错了。
代码:
Mat img = imread("myimage.yuv"); imshow("img", img);
有人知道我的代码出了什么问题,我该如何解决?
【问题讨论】:
这能回答你的问题吗? How to read a frame from YUV file in OpenCV? 【参考方案1】:你需要先打开文件:
FILE *YUV_FILE = fopen( "YourPAth\\YourFileName.yuv", "rb" );
创建一个指针:
char *databuffer = new char[ frameWidth*frameHeight*ChannelCount];
然后使用 fread
读取数据到指针databuffer
现在您可以使用以下命令创建一个 opencv Mat
:
cv::Mat OpencvImage(Size(frameWidth, frameHeight), CV_8UC3, databuffer, Mat::AUTO_STEP);
【讨论】:
以上是关于OpenCV(C++):如何显示 yuv 文件?的主要内容,如果未能解决你的问题,请参考以下文章
C++ YUV420文件读取与显示,绘制矩形框,绘制线段(绘制直线),绘制多边形(常用YUV数据格式——YUV420P中的YU12与YUV420SP中的NV21)
C++ YUV420文件读取与显示,绘制矩形框,绘制线段(绘制直线),绘制多边形(常用YUV数据格式——YUV420P中的YU12与YUV420SP中的NV21)