资源简介
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
评论
共有 条评论