转自 https://www.codenong.com/cs106417440/
第一种方法-灰度公式法:P=0.299×Red+0.587×Green+0.114×Blue
看了网上很多人说有个灰度公式,可以直接遍历每个像素,并把每个像素中的rgb换成如下值即可
1 2 3 4 5 6 7 8 9 10 11 12 |
function makeGray() { #遍历图片中每一个像素 for (var pixel of img.values()) { #获得每个像素所含rgb的平均值 avg = (pixel.getRed() + pixel.getGreen() + pixel.getBlue())/3; #使用公式得到P值 P =(0.299*pixel.getRed() +0.587* pixel.getGreen() + 0.114*pixel.getBlue()) #把rgb每个颜色的亮度都换成P值 pixel.setGreen(P) pixel.setRed(P) pixel.setBlue(P) } |
第二种方法-平均值法:avg=(Red+Green+Blue)÷3
将像素中每一点的rgb值设为rgb三个值的平均值
1 2 3 4 5 6 7 8 9 10 |
function makeGray() { #遍历图片中每一个像素 for (var pixel of img.values()) { #获得每个像素所含rgb的平均值 avg = (pixel.getRed() + pixel.getGreen() + pixel.getBlue())/3; #把rgb每个颜色的亮度都换成平均值 pixel.setGreen(avg ) pixel.setRed(avg ) pixel.setBlue(avg ) } |
- end
声明
本文由崔维友 威格灵 cuiweiyou vigiles cuiweiyou 原创,转载请注明出处:http://www.gaohaiyan.com/4472.html
承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设