YUV轉(zhuǎn)為jpg圖像的實現(xiàn)
更新時間:2019年12月09日 15:31:25 作者:葉晚zd
今天小編就為大家分享一篇YUV轉(zhuǎn)為jpg圖像的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
調(diào)用opencv庫,將yuv圖像轉(zhuǎn)為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轉(zhuǎn)為jpg圖像的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Numpy.convolve使用Python實現(xiàn)滑動平均濾波的思路詳解
這篇文章主要介紹了Python極簡實現(xiàn)滑動平均濾波(基于Numpy.convolve)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05
利用Python實現(xiàn)Windows下的鼠標(biāo)鍵盤模擬的實例代碼
本篇文章主要介紹了利用Python實現(xiàn)Windows下的鼠標(biāo)鍵盤模擬的實例代碼,具有一定的參考價值,有興趣的可以了解一下2017-07-07
Python實現(xiàn)PDF提取文字并統(tǒng)計詞頻
這篇文章主要為大家介紹了Python土豪通過統(tǒng)計詞頻來實現(xiàn)快速預(yù)覽PDF報告效果,文中提供了文字PDF和圖片PDF提取文字的兩類方式,希望對大家有所幫助2025-04-04
Python爬取數(shù)據(jù)并寫入MySQL數(shù)據(jù)庫的實例
今天小編就為大家分享一篇Python爬取數(shù)據(jù)并寫入MySQL數(shù)據(jù)庫的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python利用xlrd?與?xlwt?模塊操作?Excel
這篇文章主要介紹了Python利用xlrd?與?xlwt?模塊操作?Excel,文章圍繞主題展開詳細(xì)的內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05

