这篇文章将为大家详细讲解有关怎么将YUV转换为jpg图像,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
专注于为中小企业提供成都网站制作、网站建设、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业莘县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。代码如下:
# define _CRT_SECURE_NO_WARNINGS #include <string> #include <iostream> #include <fstream> #include <cv.h> #include <highgui.h> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv; using namespace std; int main() { int iWidth; int iHeight; int iFrameNum; int iImageSize; iWidth = 640; iHeight = 480; char *inputFileName = "640x480_YUV400.yuv"; FILE *fpIn; if (fopen_s(&fpIn, inputFileName, "rb")) { cout << "File Open Failed!\n"; system("pause"); exit(1); } iImageSize = iWidth * iHeight; unsigned char *InData = (unsigned char*)malloc(iImageSize * sizeof(unsigned char)); unsigned char *uvData = (unsigned char*)malloc(iImageSize / 2 * sizeof(unsigned char));//uv memset(uvData, 128, iImageSize / 2); Mat frameYUV(iHeight * 3 / 2, iWidth, CV_8UC1); Mat frameBGR; Mat frameRGB; Mat frameYUV420; char outName[128]; iFrameNum = 0; while (1) { size_t size = fread(InData, sizeof(unsigned char), iImageSize, fpIn); if (size == 0) { cout << "Read Frame Fail!\n"; system("pause"); break; } memcpy(frameYUV.data, InData, iImageSize); memcpy(frameYUV.data + iImageSize, uvData, iImageSize / 2); cvtColor(frameYUV, frameBGR, CV_YUV2BGR_I420); cvtColor(frameBGR, frameRGB, CV_BGR2RGB); imshow("video", frameRGB); waitKey(1); cout << iFrameNum++ << " Frame Processed\n"; sprintf(outName, "outFile/%d.jpg", iFrameNum); imwrite(outName, frameRGB); } free(InData); free(uvData); fclose(fpIn); return 0; }
关于怎么将YUV转换为jpg图像就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页题目:怎么将YUV转换为jpg图像-创新互联
文章来源:https://www.cdcxhl.com/article30/sheso.html
成都网站建设公司_创新互联,为您提供网站改版、企业建站、外贸网站建设、网站策划、网站制作、响应式网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联