美文网首页
[225]Blur Filter

[225]Blur Filter

作者: 小慷 | 来源:发表于2017-08-01 22:45 被阅读11次

2017-08-01(二) 蓋樓[225]

Blur Filter

螢幕快照 2017-08-01 下午10.40.49.png

================================================================================

螢幕快照 2017-08-01 下午10.41.06.png

2017-08-01(二) 蓋樓[225]

Blur Filter

一、模糊濾鏡的原理

  • 在讀此篇當中,提到pixel的變化,又是找尋nearby的pixel,然後nearby pixel又會遇到邊界的問題,最後又得把nearby pixel取代原本的pixel,簡單來說,我被一連串的條件、傳遞參數、回傳值弄得很混亂,不過第一步,還是去google 到底Blur filter的原理是啥?

  • 高斯(Guassian)模糊 圖像濾波 基本原理介紹 ,當中作了簡短的介紹,不過在本次作業中,是隨機再x,y座標上有一定的範圍,採取其他地址的pixel值。

二、動作分解

  1. 一開始有1/2 機率,判斷是否找尋其他位置pixel,稱作other_pixel

  2. 要產生這個 other_pixel 需要一個 getPixelNearby 的 function

  3. 進入 getPixelNearby()中,需要傳入參數,如同
    getPixelNearby (blurredImage, x, y, radius)

  4. 在getPixelNearby()最後的output 要return other_pixel 的x,y位置

  5. other_pixel的x,y位置,是由原本x,y位置,經過dx,dy的變化

    • dy,dx 是由random與radius的計算(這裡先沒提到)
  6. 取得 other_pixel 的 x, y 位置時,就是用set把,照片的pixel 設定為,剛才獲取的位置。

6-2. 其實第6點有錯誤,那就是還得探討邊界的問題,所以得把剛剛獲取的x,y傳入檢查function中,探討可行性

  • 檢查function,有三種情況,第一是<0,第二是點大於等於邊界,第三就是正常範圍,分別就是return 0,第二是size 減1,最後是回傳原本的值。

  • 此時,才是做第6點,取得 other_pixel 的 x, y 位置時,就是用set把,照片的pixel 設定為,剛才獲取的位

  • 最後,把修改照片drawTo(canvas)裡面

成功了!

Github code

相关文章

网友评论

      本文标题:[225]Blur Filter

      本文链接:https://www.haomeiwen.com/subject/qcbslxtx.html