码迷,mamicode.com
首页 > 其他好文 > 详细

将一个 32 位 RGB 像素颜色值为灰度

时间:2015-04-29 16:35:58      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

写一个函数,将一个 32 位 RGB 像素颜色值为灰度。

RGB转为灰度的公式: grey = 0.3 * red + 0.59 * green + 0.11 * blue;
RGB像素的格式 (左边为最高位,右边是最低位):00000000RRRRRRRRGGGGGGGGBBBBBBBB
函数原型为:
c++:
unsigned int ToGrey(unsigned int rgb);

unsigned int ToGrey(unsigned int rgb)
{
    unsigned int red = (rgb & 0x00ff0000) >> 16;
    unsigned int green = (rgb & 0x0000ff00) >> 8;
    unsigned int blue = rgb & 0x000000ff;
    return (unsigned int)(0.3*red + 0.59*green + 0.11*blue);
}

 

将一个 32 位 RGB 像素颜色值为灰度

标签:

原文地址:http://www.cnblogs.com/novor/p/4466089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!