这是最常见的灰度算法,简单暴力,把它放到第一位。公式是:
- Gray = (Red + Green + Blue) / 3
这个算法可以生成不错灰度值,因为公式简单,所以易于保护和优化。然而它也不是没出缺点,因为简单快速,大年夜人眼的感知角度看,图片的灰度暗影和亮度方面做的还不敷好。所以,我们须要更复杂的运算。
算法2 - 基于人眼感知
应用算法2:
算法1与算法2生成的图片似乎没太大年夜差别,所以增长一个例子,将图片上半部分用算法1,下半部分用算法2。
细心看的话,中心有一根黑线。上半部分(算法1)比下半部分(算法2)更惨白一些。如不雅照样看不出来,留意最右边的柠檬,算法1的柠檬反光更强烈,算法2的柠檬更柔和。
第二种算法推敲到了人眼对不合光感知程度不合。人的眼睛内有几种辨别色彩的锥形感光细胞,分别对黄绿色、绿色和蓝紫色的光最敏感。固然眼球中的椎状细胞并非对红、绿、蓝三色的感触感染度最强,然则由肉眼的椎状细胞所能感触感染的光的带宽很大年夜,红、绿、蓝也可以或许自力刺激这三种色彩的受光体。
仁攀类对红绿蓝三色的感知程度依次是: 绿>红>蓝,所以平均算法大年夜这个角度看是不科学的。应当按照仁攀类对光的感知程度为每个色彩设定一个权重,它们的之间的地位不该该是平等的。
- Gray = (Red * 0.3 + Green * 0.59 + Blue * 0.11)
可以看到,每个色彩的系数相差很大年夜。
如今对图像灰度处理的最佳公式还存在争议,有一些类似的公式:
- Gray = (Red * 0.2126 + Green * 0.7152 + Blue * 0.0722)
or
它们只是在系数上存在一些误差,大年夜体的比值差不多。
应用算法3:
在嗣魅这个算法之前,先说说RGB,大年夜多半法度榜样员都应用RGB模型,每一种色彩都可以由红绿蓝构成,RGB对计算机来说可以很好的描述色彩,但对于仁攀类而言就很难解得了。如不雅升国旗的时刻说,“五星红旗多么RGB(255, 0, 42)”,可能会被暴打一顿。但我说鲜红的五星红旗,师长教师可能会点头称赞。
去饱和的过程就是把RGB转换为HLS,然后将饱和度设为0。是以,我们须要取一种色彩,转换它为最不饱和的值。这个数学公式比本文介绍的更复杂,这里供给一个简单的公式,一个像素可以被去饱和经由过程计算RGB中的最大年夜值和最小值的中心值:
很简单对吧。
去饱和后,图片立体感减弱,然则更柔和。比较算法2,可以很明显的看出差别,大年夜效不雅上看,可能大年夜多半人都爱好算法2,算法3是今朝为止,处理的图片立体感最弱,最阴郁的。
算法4 - 分化
算法5 - 单一通道
取最大年夜值
- Gray = (Red * 0.299 + Green * 0.587 + Blue * 0.114)
取最小值
分化算法可以认为是去饱和更简单一种的方法。分化是基于每一个像素的,只取RGB的最大年夜值或者最小值。
最大年夜值分化:
- Gray = Math.max(Red, Green, Blue)
最小值分化:
- Gray = Math.min(Red, Green, Blue)
正如膳绫擎展示的,最大年夜值分化供给了更通亮的图,而最小值分化供给了更阴郁的图。
取红色通道
取绿色通道
取蓝色通道
推荐阅读
媒介如不雅有测试大年夜佬发明内容纰谬,迎接斧正,我会及时修改。大年夜多半的iOS App(没有持续集成)迭代流程是如许的 it有两个参数, 行动描述 行动的测试代码也就是说,测试是宣>>>详细阅读 本文标题:有趣的6种图片灰度转换算法 地址:http://www.17bianji.com/lsqh/34682.html 1/2 1