彩色图像的灰度化处理

 彩色图像的灰度化处理
算法一::图片依然保持24位真彩色的形式,只是将一个像素点中R G B三个值分别化成新的灰度值


假设date指向原理的图像数据
gray指向新的图像的图像数据
(注意date和gray的起始位置是否是BITMAPINFOHEADER,否则需要跳过,
例如  BYTE *p=date+sizeof(BITMAPINFOHEADER)  );
其中的核心算法是:
grayvalue=(g*50+r*39+b*11)/100;


其中转换的步骤:
BYTE *p=date;
BYTE r=0,g=0,b=0,grayvalue=0;
int count=0;
for(int i=0;i<bitinfo.bmiHeader.biHeight;i++)
{
for(int j=0;j<bitinfo.bmiHeader.biWidth;j++)
{
//r=*(date++);g=*(date++);b=*(date++);//获取RGB的颜色值
count++;r=p[count];
count++;g=p[count];
count++;b=p[count];
            grayvalue=(g*50+r*39+b*11)/100;//获取新知
gray[count-3]=grayvalue; gray[count-2]=grayvalue; gray[count-1]=grayvalue;
}
}
算法二:
将24位的真彩色图像换成256位的灰度图片,这需要对调色板进行处理
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值