亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

Ruby實現的圖片濾鏡算法代碼

2020-02-24 15:36:14
字體:
來源:轉載
供稿:網友

photoshop可以利用魔杖的技術,使用與photoshop中的選擇菜單中的顏色范圍相似的算法來實現簡單的鋪墊,下面是武林技術頻道小編為大家帶來的Ruby實現的圖片濾鏡算法代碼,一起來看看吧!

一、灰度算法

彩色照片每一個像素的顏色值由紅、綠、藍三種值混合而成,紅綠藍的取值分別由很多種,于是像素的顏色值也可以有很多種顏色值,這就是彩色圖片的原理,而灰度照片則只有256種顏色,一般的處理方法是將圖片顏色值的RGB三個通道值設為一樣,這樣圖片的顯示效果就會是灰色。

灰度處理一般有三種算法:

  1. 最大值法:即新的顏色值R=G=B=Max(R,G,B),這種方法處理后的圖片看起來亮度值偏高。
  2. 平均值法:即新的顏色值R=G=B=(R+G+B)/3,這樣處理的圖片十分柔和
  3. 加權平均值法:即新的顏色值R=G=B=(R * Wr+G*Wg+B*Wb),一般由于人眼對不同顏色的敏感度不一樣,所以三種顏色值的權重不一樣,一般來說綠色最高,紅色其次,藍色最低,最合理的取值分別為Wr = 30%,Wg = 59%,Wb = 11%

下面是加權平均值法的Ruby實現:

?

ruby;"> #灰度化圖片 #取RGB三色平均值 def self.grey(bmp)  for i in 0 .. bmp.height - 1   for j in 0 .. bmp.width - 1    rgb = bmp.getRGB(i, j)    grey = rgb.r.to_f * 0.3+rgb.g.to_f *0.59 +rgb.b.to_f * 0.11.to_i    bmp.setRGB(i, j, RGB.new(grey, grey, grey))   end  end end

灰度效果:

二、二值化

圖像二值化就是將圖像上的像素點的灰度值設置為0或255,也就是將整個圖像呈現出明顯的黑白效果。所有灰度大于或等于閾值的像素被判定為屬于特定物體,其灰度值為255表示,否則這些像素點被排除在物體區域以外,灰度值為0,表示背景或者例外的物體區域。

圖像二值化常常用于破解驗證碼等圖片識別應用上

#二值化圖片 #小于一定閾值設為0 0 0,大于設置為255 255 255 def self.binarization(bmp)  imageGreyLevel = bmp.getGreyLevel  for i in 0 .. bmp.height - 1   for j in 0 .. bmp.width - 1    rgb = bmp.getRGB(i, j)    if rgb.getGreyLevel<imageGreyLevel     bmp.setRGB(i, j, RGB.new(0, 0, 0))    else     bmp.setRGB(i, j, RGB.new(255, 255, 255))    end   end  end end

二值化效果

?三、底片

底片效果的實現很簡單,就是將RGB的每一個通道值取反,就是用255去減

#底片化圖片 #RGB取反色255- def self.contraryColor(bmp)  for i in 0 .. bmp.height - 1   for j in 0 .. bmp.width - 1    rgb = bmp.getRGB(i, j)    bmp.setRGB(i, j, rgb.getContrary)   end  end end

底片效果

四、浮雕效果

浮雕的算法相對復雜一些,用當前點的RGB值減去相鄰點的RGB值并加上128作為新的RGB值。由于圖片中相鄰點的顏色值是比較接近的,因此這樣的算法處理之后,只有顏色的邊沿區域,也就是相鄰顏色差異較大的部分的結果才會比較明顯,而其他平滑區域則值都接近128左右,也就是灰色,這樣
就具有了浮雕效果。

在實際的效果中,這樣處理后,有些區域可能還是會有”彩色”的一些點或者條狀痕跡,所以最好再對新的RGB值做一個灰度處理。

#浮雕效果 #浮雕的算法相對復雜一些,用當前點的RGB值減去相鄰點的RGB值并加上128作為新的RGB值。由于圖片中相鄰點的顏色值是比較接近的, #因此這樣的算法 處理之后,只有顏色的邊沿區域,也就是相鄰顏色差異較大的部分的結果才會比較明顯,而其他平滑區域則值都接近128左右, #也就是灰色,這樣就具有了浮雕效果。 #在實際的效果中,這樣處理后,有些區域可能還是會有”彩色”的一些點或者條狀痕跡,所以最好再對新的RGB值做一個灰度處理。 def self.emboss(bmp)  preRGB=RGB.new(128, 128, 128)  for i in 0 .. bmp.height - 1   for j in 0 .. bmp.width - 1    currentRGB=bmp.getRGB(i, j)    r=(currentRGB.r-preRGB.r)*1+128    g=(currentRGB.g - preRGB.g)*1+128    b=(currentRGB.b-preRGB.b)*1+128    bmp.setRGB(i, j, RGB.new(r,g,b).getGreyRGB)    preRGB = currentRGB   end  end end

浮雕效果

以上就是武林技術頻道小編為大家提供的Ruby實現的圖片濾鏡算法代碼,如果你覺得這篇文章很好,你可以收藏一下,更多的專業文章盡在武林技術頻道!

?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美日韩专区发布| 亚洲护士老师的毛茸茸最新章节| 亚洲黄色av女优在线观看| 亚洲国产美女精品久久久久∴| 亚洲国产精彩中文乱码av在线播放| 日韩av在线一区二区| 69久久夜色精品国产69乱青草| 日韩电视剧免费观看网站| 亚洲福利视频在线| 亚洲国产成人精品久久久国产成人一区| 久久99视频精品| 亚洲精品国产精品国产自| 91av在线精品| 久久久亚洲精品视频| 欧美日韩一区二区在线| 日韩精品极品在线观看播放免费视频| 亚洲日本欧美中文幕| 亲爱的老师9免费观看全集电视剧| 国产精品久久久久久影视| 这里只有精品在线播放| 亚洲欧洲中文天堂| 久久精品视频99| 日本高清不卡在线| 亚洲国产日韩欧美在线99| 精品国产乱码久久久久久天美| 国产精品久久久久久久久久新婚| 亚洲国产小视频在线观看| 在线免费观看羞羞视频一区二区| 另类美女黄大片| 日韩精品视频在线观看免费| 日韩中文字幕在线观看| 久久91精品国产91久久跳| 久久国产精品久久久久| 亚洲电影成人av99爱色| 国产91精品在线播放| 精品视频在线播放色网色视频| 丁香五六月婷婷久久激情| 国产精品999| 国产精品久久久久久久一区探花| 中文.日本.精品| 亚洲精品一区二区网址| 懂色aⅴ精品一区二区三区蜜月| 中文字幕日韩av电影| 久久精品视频免费播放| 日韩在线视频一区| 日韩精品免费一线在线观看| 国产成人精品免高潮在线观看| 久久成人精品视频| 中文字幕日韩欧美在线| 日韩av在线导航| 国产精品久久久久久中文字| 成人网欧美在线视频| 国内精品一区二区三区| 91亚洲人电影| 亚洲一区二区三区乱码aⅴ| 亚洲二区在线播放视频| 久久亚洲精品中文字幕冲田杏梨| 91色中文字幕| 亚洲高清久久久久久| 成人av在线亚洲| 欧美一二三视频| 精品久久久久久国产| 亚洲欧美日韩国产成人| 在线性视频日韩欧美| 国产69精品99久久久久久宅男| 久久久久久香蕉网| 国产精品video| 国产精品美乳在线观看| 日本欧美精品在线| 国产精品激情自拍| 日本欧美在线视频| 久久天天躁狠狠躁夜夜躁2014| 九九热r在线视频精品| 日韩中文字幕欧美| 日韩美女免费观看| 日本精品性网站在线观看| 国产脚交av在线一区二区| 国产成人一区二区三区电影| 91在线无精精品一区二区| 久久视频免费在线播放| 亚洲欧美日韩成人| 欧洲亚洲妇女av| 亚洲视频欧美视频| 久久天堂电影网| 亚洲欧美另类在线观看| 97视频人免费观看| 久久99精品久久久久久青青91| 丰满岳妇乱一区二区三区| 琪琪第一精品导航| 国产视频福利一区| 欧美高清在线视频观看不卡| 久久久久久噜噜噜久久久精品| 亚洲第一精品夜夜躁人人躁| 日韩电影在线观看中文字幕| 欧美成年人视频网站欧美| 一本色道久久综合狠狠躁篇怎么玩| 播播国产欧美激情| 青青青国产精品一区二区| 在线免费观看羞羞视频一区二区| 日本欧美爱爱爱| 国产一区二区三区高清在线观看| 国产精品一区二区电影| 日韩精品免费视频| 国产黑人绿帽在线第一区| 久久精品国产亚洲一区二区| 欧美日韩一二三四五区| 国产日韩精品在线播放| 国产精品久久久久99| 国产精品69精品一区二区三区| 欧美又大粗又爽又黄大片视频| 成人免费福利在线| 亚洲国产欧美精品| 亚洲综合av影视| 久久久av免费| 色婷婷综合久久久久中文字幕1| 欧美成人一区二区三区电影| 午夜精品一区二区三区av| 伊人久久精品视频| 中文字幕亚洲综合| 欧美激情国内偷拍| 91免费在线视频| 久久综合五月天| 91精品视频在线免费观看| 久久久久99精品久久久久| 日韩精品亚洲元码| 66m—66摸成人免费视频| 亚洲人线精品午夜| 亚洲激情电影中文字幕| 亚洲第一色在线| 精品自拍视频在线观看| 欧美成人亚洲成人日韩成人| 久久香蕉频线观| 亚洲精品乱码久久久久久按摩观| 日韩福利在线播放| 日韩av免费看| 久久大大胆人体| 午夜精品久久久久久久99热浪潮| 亚洲一区久久久| 亚洲综合日韩中文字幕v在线| 国产精品视频地址| 日韩精品极品毛片系列视频| 欧美成人午夜激情视频| 精品久久久久久中文字幕| 国产精品人人做人人爽| 成人精品视频久久久久| 成人在线观看视频网站| 亚洲中国色老太| 久久天天躁夜夜躁狠狠躁2022| 日韩欧美在线视频| 中文字幕亚洲无线码在线一区| 久久影院中文字幕| 久久香蕉精品香蕉| 亚洲一区国产精品| 国产精品亚洲自拍| 狠狠躁夜夜躁人人爽天天天天97| 97福利一区二区| 欧美成人午夜激情在线| 在线观看免费高清视频97| 亚洲最大av在线| 欧美贵妇videos办公室| 亚洲人成电影网站| 亚洲精品视频免费在线观看| 亚洲图片在区色| 久久久久久综合网天天|