![几种图片滤镜算法代码实现(灰度、浮雕、二值、底片)[Ruby],第1张 几种图片滤镜算法代码实现(灰度、浮雕、二值、底片)[Ruby],第1张](/aiimages/%E5%87%A0%E7%A7%8D%E5%9B%BE%E7%89%87%E6%BB%A4%E9%95%9C%E7%AE%97%E6%B3%95%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0%28%E7%81%B0%E5%BA%A6%E3%80%81%E6%B5%AE%E9%9B%95%E3%80%81%E4%BA%8C%E5%80%BC%E3%80%81%E5%BA%95%E7%89%87%29%5BRuby%5D.png)
彩色照片每一个像素的颜色值由红、绿、蓝三种值混合而成,红绿蓝的取值分别由很多种,于是像素的颜色值也可以有很多种颜色值,这就是彩色图片的原理,而灰度照片则只有256种颜色,一般的处理方法是将图片颜色值的RGB三个通道值设为一样,这样图片的显示效果就会是灰色。
灰度处理一般有三种算法:
下面是加权平均值法的Ruby实现:
底片效果的实现很简单,就是将RGB的每一个通道值取反,就是用255去减
浮雕的算法相对复杂一些,用当前点的RGB值减去相邻点的RGB值并加上128作为新的RGB值。由于图片中相邻点的颜色值是比较接近的,因此这样的算法处理之后,只有颜色的边沿区域,也就是相邻颜色差异较大的部分的结果才会比较明显,而其他平滑区域则值都接近128左右,也就是灰色,这样
就具有了浮雕效果。
在实际的效果中,这样处理后,有些区域可能还是会有”彩色”的一些点或者条状痕迹,所以最好再对新的RGB值做一个灰度处理。
geekeren / RubyImageProcess
1、首先,打开滚动天空自制版,在菜单栏中点击“滤镜”,d出滤镜窗口;2、在滤镜窗口中,选择你想要使用的滤镜,比如灰度滤镜,点击“应用”按钮;
3、等待滤镜应用完成,你可以看到滚动天空自制版已经变成灰度滤镜效果了;
4、如果你想要更改滤镜的参数,可以点击“设置”按钮,在d出的窗口中调整滤镜的参数,然后点击“应用”按钮,等待滤镜应用完成;
5、最后,点击“保存”按钮,保存滤镜效果,完成滚动天空自制版的滤镜变换。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)