颜色在计算机中以RGB的形式展示,RGB想必大家都清楚,三原色,这三种颜色可以调配出各种颜色。灰度图确只有黑白两种颜色(其实不是),二值化的图才是两种色。
灰度图的像素颜色不同于彩色图,灰度图的像素颜色RGB值都是一样的,其RGB值算法如下:
(adsbygoogle = window.adsbygoogle || []).push({});
Gary=R * 0.3 +G * 0.59 + B * 0.11
由上述公式就能将彩色图转换为灰度图了,只需遍历图片像素,将每个像素值重置为我们计算出来的灰度值即可,下面是C#代码:
/// <summary> /// 图像灰度化 /// </summary> /// <param name="bmp"></param> /// <returns></returns> public static Bitmap ToGray(Bitmap bmp) { for (int i = 0; i < bmp.Width; i++) { for (int j = 0; j < bmp.Height; j++) { //获取该点的像素的RGB的颜色 Color color = bmp.GetPixel(i, j); //利用公式计算灰度值 int gray = (int)(color.R * 0.3 + color.G * 0.59 + color.B * 0.11); Color newColor = Color.FromArgb(gray, gray, gray); bmp.SetPixel(i, j, newColor); } } return bmp; }
代码很简单,就是一个循环,效果如下:
© 版权声明
1、本网站名称:club资源网
2、本站永久网址:cscxyz.club
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ:2737238215进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
请登录后发表评论
注册