iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
1
Software Development

【錢不夠買ps的我,只好用OpenCV來修圖了!】系列 第 10

【沒錢ps,我用OpenCV!】Day 10 - 日系濾鏡總集篇,運用 OpenCV 製作屬於自己的濾鏡吧 (內含可於網頁上直接完成濾鏡的 colab )

  • 分享至 

  • xImage
  •  

先來看看今天的結果圖

 總覺得總集篇應該要找個有人的照片,只好讓本人出現獻醜一下了~

https://ithelp.ithome.com.tw/upload/images/20200922/20120424JmYXwsTlZO.jpg

比較一下原圖

https://ithelp.ithome.com.tw/upload/images/20200922/20120424TjGBZbVSaP.jpg

(先撇除原圖就已經拍很好看的問題,我們來專心討論修圖哈哈哈)

-> 此篇文章的程式碼 github

Day10_日系濾鏡總集篇_Japanese_style_filter.ipynb

前言

我們已經完成了製作日系濾鏡的整個修圖過程囉!
如果要參考某一個特定的部分,請參考以下連結:
下方的程式碼會著重在整理並加入參數使可用性更高

文章 階段目標
【Day4】 1. 調亮光線 (調整光線)
【Day5】 2. 加強飽和度 (調整飽和度)
【Day6】 3. 將照片調成冷色調
【Day7】 4. 增添顆粒感
【Day8】 5. 降低對比
【Day9】 6. 降低高光

運用 OpenCV 製作屬於自己的濾鏡吧

最後我們將前六天的成果,在函數中加入一些可變動的參數
這樣可調整性就會變得非常高,
以後我們想要生成什麼樣的濾鏡,只要調一調參數就可以囉!

至於說明的部分我直接打在下方程式碼裡面,方便直接對照。

def japanese_style_filter(img):
    print("1. 調亮光線 (調整光線)")
    print("2. 加強飽和度 (調整飽和度)")
    img = modify_lightness_saturation(img, lightness=0, saturation=50) # 單位: +- %
    show_img(img)
    
    print("3. 將照片調成冷色調")
    img = modify_color_temperature(img, cold_rate=20) # 看你要+多冷 
    show_img(img)
    
    print("4. 增添顆粒感")
    img = gaussian_noise(img, mean=0, sigma=0.05) # mean 平均, sigma 標準差
    show_img(img)
    
    print("5. 降低對比")
    img = modify_contrast_and_brightness(img, brightness=20 , contrast=-35) # -255 ~ 255
    show_img(img)
    
    print("6. 降低高光")
    img = reduce_highlights(img, light_threshold=255) # 光源的 threshold 以上會被做降光處理
    show_img(img)
  
    return img

在網頁中運用 colab 直接產生自己的濾鏡結果

在網頁中運用 colab 直接產生自己的濾鏡連結:
https://colab.research.google.com/drive/1TWX7JZpYitVCoDsP9E4mFo6D9cX1CW8R?usp=sharing

嘿對,我用了一個線上就能直接執行的版本。
這樣又更方便了~~~

使用方式很簡單~~~

1. 打開網頁,執行階段 -> 全部執行

https://ithelp.ithome.com.tw/upload/images/20200922/20120424YkowNZO8YP.png

2. 往下找,找到要你上傳圖片的地方,上傳自己要修的照片

https://ithelp.ithome.com.tw/upload/images/20200922/20120424k5n1ywA2cA.png

3. 上傳完成後,結果就出來囉 (還附上變化過程呢!)

https://ithelp.ithome.com.tw/upload/images/20200922/20120424N551L43i7R.png

後記 (附上變化過程的用途)

其實附上變化過程就是更方便讓我們知道哪裡需要調整參數

如果看哪個階段結果不是很滿意的話直接去改那個階段的數字就好囉!


上一篇
【沒錢ps,我用OpenCV!】Day 9 - 日系濾鏡6,運用 OpenCV 降低圖片的高光 reduce highlights
下一篇
【沒錢ps,我用OpenCV!】Day 11 - 基本修圖3,OpenCV 建立新空白圖、畫點、畫圓 create new pictures, draw points and draw circle
系列文
【錢不夠買ps的我,只好用OpenCV來修圖了!】30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言