【图像处理之常用算法一】——彩色图像的灰度化
大家好,发现自己的博客荒废了好久啊,决定好好经营一番!!
呵呵,由于最近一段时间设计了很多图像处理方面的东西,
所以这一次就给大家带来图像处理方面的知识吧!
有什么错误也欢迎指出,一起进步,小弟也是菜鸟哦!!!!
/*
默认情况下,HEIGHT代表图像的高,WIDTH代表图像的宽,BYTE 代表unsigned char
*/
//图片数据按BMP格式存储
/**************************************
*功能:rgb24图像转灰度
*参数:rgb为输入彩色图像的指针
* gray为输出灰度图像的指针
* 返回值:无
***************************************/
void rgb2gray(BYTE *rgb,BYTE *gray)
{
int i;
int j;
for(i=0;i<HEIGHT;i++)
for(j=0;j<WIDTH;j++)
{
*(gray+i*WIDTH+j)=(BYTE)(*(rgb+i*WIDTH*3+j*3)*0.299+
*(rgb+i*WIDTH*3+j*3+1)*0.587+
*(rgb+i*WIDTH*3+j*3+2)*0.114);//y(亮度)=0.299*R+0.587*G+0.114*B
}
}
效果如下:
原图片:
处理完后的图片:
呵呵代码就这么短,至于你信不信,反正我信了。给自己点动力所以不写太长,后面更精彩哦!
请关注我吧,也需要你们的鼓励!谢谢!