• 大小: 412KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-17
  • 语言: C/C++
  • 标签: RGB;YUV  

资源简介

RGB转 YUV代码

资源截图

代码片段和文件信息

#include
#include
#include
#include “rgb2yuv.h“
#define FALSE false
#define TRUE true
int main(int argc char **argv)
{
FILE *fp_in=NULL;
FILE *fp_out=NULL;

unsigned int width=256;
unsigned int height=256;
unsigned char *rgb*yuv=NULL;
unsigned char *y*u*v=NULL;
bool flip = TRUE;
int ij=0;

rgb=(unsigned char*)malloc(width*height*3);
y=(unsigned char*)malloc(width*height);
u=(unsigned char*)malloc(width*height/4);
v=(unsigned char*)malloc(width*height/4);

fp_in=fopen(“down.rgb““rb“);
if(fp_in==NULL) 
{
printf(“can‘t open“);
exit(1);
}
else
{
printf(“ok“);
}
fp_out=fopen(“down.yuv““wb“);
if(fp_out==NULL) 
{
printf(“can‘t open“);
exit(1);
}
else
{
printf(“ok“);
}

if (rgb == NULL || y == NULL || u == NULL || v == NULL)
{
printf(“no enought memory\n“);
exit(1);
}
while(fread(rgb1width*height*3fp_in))
{
        RGB2YUV (width height rgb y u v flip);
for (i = 0; i < (width*height); i++)
{
if (y[i] < 16) y[i] = 16;
if (y[i] > 235) y[i] = 235;
}

for (i = 0; i < (width*height/4); i++)
{
if (u[i] < 16) u[i] = 16;
if (u[i] > 240) u[i] = 240;

if (v[i] < 16) v[i] = 16;
if (v[i] > 240) v[i] = 240;
}

fwrite(y1width*heightfp_out);
fwrite(u1width*height/4fp_out);
fwrite(v1width*height/4fp_out);
}
free(rgb);
free(y);
free(u);
free(v);
if((fp_in=fopen(“down.rgb““rb“))==NULL)
{
printf(“error“);
}
else
fclose(fp_in);

if((fp_in=fopen(“down.yuv““rb“))==NULL)
{
printf(“error“);
}
fclose(fp_out);
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-03-17 16:15  RGB转 YUV代码  C语言\
     目录           0  2017-03-17 09:21  RGB转 YUV代码  C语言\rgbyuv\
     目录           0  2017-03-17 09:21  RGB转 YUV代码  C语言\rgbyuv\Debug\
     文件        5123  2014-07-08 22:19  RGB转 YUV代码  C语言\rgbyuv\Debug\main.obj
     文件      204862  2014-07-08 22:19  RGB转 YUV代码  C语言\rgbyuv\Debug\rgbyuv.exe
     文件      206824  2014-07-08 22:19  RGB转 YUV代码  C语言\rgbyuv\Debug\rgbyuv.ilk
     文件        7093  2014-07-08 23:31  RGB转 YUV代码  C语言\rgbyuv\Debug\rgbyuv.obj
     文件      476160  2014-07-08 22:11  RGB转 YUV代码  C语言\rgbyuv\Debug\rgbyuv.pdb
     文件       41984  2014-07-08 23:31  RGB转 YUV代码  C语言\rgbyuv\Debug\vc60.idb
     文件       53248  2014-07-08 22:11  RGB转 YUV代码  C语言\rgbyuv\Debug\vc60.pdb
     文件        1665  2014-06-07 14:58  RGB转 YUV代码  C语言\rgbyuv\main.cpp
     文件        3751  2014-07-08 21:36  RGB转 YUV代码  C语言\rgbyuv\rgb2yuv.c
     文件         122  2014-04-10 21:03  RGB转 YUV代码  C语言\rgbyuv\rgb2yuv.h
     文件        4027  2014-07-08 22:11  RGB转 YUV代码  C语言\rgbyuv\rgbyuv.cpp
     文件        4407  2014-04-09 01:30  RGB转 YUV代码  C语言\rgbyuv\rgbyuv.dsp
     文件         537  2014-04-08 21:25  RGB转 YUV代码  C语言\rgbyuv\rgbyuv.dsw
     文件          96  2014-04-09 01:30  RGB转 YUV代码  C语言\rgbyuv\rgbyuv.h
     文件       50176  2015-04-06 00:10  RGB转 YUV代码  C语言\rgbyuv\rgbyuv.ncb
     文件       48640  2015-04-06 00:10  RGB转 YUV代码  C语言\rgbyuv\rgbyuv.opt
     文件         716  2014-07-08 23:31  RGB转 YUV代码  C语言\rgbyuv\rgbyuv.plg
     目录           0  2017-03-17 09:21  RGB转 YUV代码  C语言\test\
     文件      196608  2014-04-07 14:40  RGB转 YUV代码  C语言\test\down.rgb
     文件       98304  2014-07-08 22:37  RGB转 YUV代码  C语言\test\down.yuv

评论

共有 条评论

相关资源