资源简介
读bmp图片,将rgb存入txt 并再输出bmp图片
代码片段和文件信息
#include
#include
#define BITMAPFILEHEADERLENGTH 14 // The bmp FileHeader length is 14
#define BM 19778 // The ASCII code for BM
/* Test the file is bmp file or not */
void bmpFileTest(FILE* fpbmp);
/* To get the OffSet of header to data part */
void bmpHeaderPartLength(FILE* fpbmp);
/* To get the width and height of the bmp file */
void BmpWidthHeight(FILE* fpbmp);
//get rgb data
void bmpDataPart(FILE* fpbmp);
// output data to corresponding txt file
void bmpoutput(FILE *fpout);
unsigned int OffSet = 0; // OffSet from Header part to Data Part
long width ; // The Width of the Data Part
long height ; // The Height of the Data Part
unsigned char r[2000][2000]output_r[2000][2000];
unsigned char g[2000][2000]output_g[2000][2000];
unsigned char b[2000][2000]output_b[2000][2000];
int main(int argc char* argv[])
{
/* Open bmp file */
unsigned char *fp_temp;
FILE *fpbmp;
FILE *fpout;
fpbmp= fopen(“1.bmp“ “rb“);
if (fpbmp == NULL)
{
printf(“Open bmp failed!!!\n“);
return 1;
}
fpout= fopen(“out.bmp“ “wb+“);
if (fpout == NULL)
{
printf(“Open out.bmp failed!!!\n“);
return 1;
}
bmpFileTest(fpbmp); //Test the file is bmp file or not
bmpHeaderPartLength(fpbmp); //Get the length of Header Part
BmpWidthHeight(fpbmp); //Get the width and width of the Data Part
//
fseek(fpbmp 0L SEEK_SET);
fseek(fpout 0L SEEK_SET);
fp_temp=(unsigned char*)malloc(OffSet);
fread(fp_temp 1 OffSet fpbmp);
fwrite(fp_temp1OffSetfpout);
bmpDataPart(fpbmp); //Reserve the data to file
/*
如果您想对图片进行处理,请您再这里插入处理函数!!!!!!!!!!!!!!!!!!
*/
bmpoutput(fpout);
fclose(fpbmp);
fclose(fpout);
return 0;
}
void bmpoutput(FILE* fpout)
{
int i j=0;
int stride;
unsigned char* pixout=NULL;
stride=(24*width+31)/8;
stride=stride/4*4;
pixout=(unsigned char*)malloc(stride);
fseek(fpout OffSet SEEK_SET);
for(j=0;j {
for(i=0;i {
pixout[i*3+2]=output_r[j][i];
pixout[i*3+1]=output_g[j][i];
pixout[i*3] =output_b[j][i];
// pixout[i*3+2]=output_r[height-1-j][i];
// pixout[i*3+1]=output_g[height-1-j][i];
// pixout[i*3] =output_b[height-1-j][i];
}
fwrite(pixout
相关资源
- VC6.0打开BMP位图程序白色彩色皆可
- 24位RGB数据保存为BMP图片
- bmp280的读取C语言
- vs2010 MFC tabctrl控件重载, 实现标签加
- C语言读取BMP文件
- bmp 图片转YUV420数组
- bmp格式图片转换为raw格式
- RAW格式图像转换为BMP格式
- jpg jpeg 解码 转 bmp RGB vs2013 c++
- C编写的读取BMP文件的程序
- C/C++语言图像处理:各种滤波
- c++ bmp位图修改读取头文件
- MFC数字图像处理BMP格式读取 保存 DF
- C中如何显示bmp文件,教你C语言编程的
- VC++图片控件(Picture Control)显示资源
- C++实战源码-将AVI动画分解成BMP位图
- C++实战源码-浏览大幅BMP图片
- bmp、jpg、gif图片隐写
- C++实战源码-将BMP位图组合成AVI动画
- c++ 连续的bmp图片转avi
- BMP图像处理程序,包括轮廓识别,图
- 一个用MFC制作的把DICOM图像转换成BM
- 24位真彩色转单色bmp1位
- 纯C++实现bmp图片旋转
- bmp位图文件的读取与保存
- Linux jpg转bmp
- 动态规划灰度压缩bmp
- 图像处理-bmp图像均值滤波-C++
- C语言 中值滤波器
- C++调用摄像头
评论
共有 条评论