读取BMP图像每一像素点RGB数据
2012-12-13 14:16
330 查看
对于24位bmp图片,每一个像素点存放着此点的RGB值。首先定义一个结构体,包含红(red)、绿(green)、蓝(blue)这三个字段,如下:
根据bmp图像宽与高,为指针变量动态分配内存空间,如下所示:
读取图像每一像素点处的RGB值至pix变量中,如下:
//像素颜色值 typedef struct tagPOINT{ BYTE b; BYTE g; BYTE r; } POINT;接下来定义用来存放每一像素点RGB值的变量,为了与bmp图像的行、列对应,定义存放数据的变量如下:
POINT **pix;其中,pix[i][j]代表第i行j列处像素点的RGB值。
根据bmp图像宽与高,为指针变量动态分配内存空间,如下所示:
//为标准图像每一个像素申请内存 pix = (POINT **)malloc(sizeof(POINT*)*bi_in.biHeight); for(i=0;i<bi_in.biHeight;i++) *(pix+i)=(POINT*)malloc(sizeof(POINT)*bi_in.biWidth);其中,bi_in.biHeight为图像高度,bi_in.biWidth为图像宽度。
读取图像每一像素点处的RGB值至pix变量中,如下:
//读取图像数据 for(i=0;i<bi_in.biHeight;i++) for(j=0;j<bi_in.biWidth;j++) fread(*(pix+i)+j,sizeof(POINT),1,fi);现在,pix变量中就存放了整幅图像数据。可以通过下标或者指针运算读取任意点处的RGB值。
相关文章推荐
- 读取BMP图像每一像素点RGB数据
- OpenCV读取RGB图像像素值,并保存到txt中
- C语言读取BMP图像数据(转)
- c语言读取BMP图片的RGB数据
- opencv对于bmp图像像素值的读取和赋值
- 【转】C语言读取BMP图像数据
- ubuntu下C语言打开bmp图像文件并读取数据
- MFC学习(6)——以数组矩阵形式表示读取出来的BMP图像||将数组矩阵数据转成BMP图像
- 获取BMP图像的数据(以数组矩阵形式读取出来)&&将数组矩阵数据转成BMP图像
- mfc把rgb图像数据存为bmp文件
- opencv中读取图像像素数据的问题
- 获取BMP图像的数据(以数组矩阵形式读取出来)&&将数组矩阵数据转成BMP图像
- 已知获得的RGB像素值为3维数组,将像素分别存入R、G、B 3个通道 Emgu Image方式读取的图像
- LSB信息隐藏之BMP图像数据的读取
- C语言读取BMP图像数据的源码
- 彩色(RGB/HSV)&灰度 图像像素值读取并保存到txt文件
- DCMTK学习之读取BMP图像里面的像素信息
- C语言读取BMP图像数据
- 运用opencv 读取BMP图像像素信息 代码及实现
- 已知获得的RGB像素值为3维数组,将像素分别存入R、G、B 3个通道 Emgu Image方式读取的图像