顯示具有 04360783 沈郁翔 標籤的文章。 顯示所有文章
顯示具有 04360783 沈郁翔 標籤的文章。 顯示所有文章

2018年1月17日 星期三

04360783 沈郁翔 HW5:色彩模型


期末了,這是最後一個作業,
由於事情稍多,請原諒我沒有太多的時間去把它做好。

YUV 調色盤繪畫雖然問題不大,但在範圍上面糾結了一些時間,
似乎規格都有一點點差異,最後我把整個範圍映射到 [0, 255] 間處理。


(圖 1)原始圖片
由於有了上次畫曲線的經驗,將滑鼠控制移植到選色上面不構成威脅。


(圖 2)YUV 選色的圖片
有一個瑕疵是,我的 YUV 調色盤的旋轉了 90 度。
這源於繪製顏色時忘了考慮畫布的特性、以及跟我的迴圈設計有關係。
(圖 3)YUV 調色盤

2018年1月11日 星期四

04360783 沈郁翔 HW4:空間濾波器

前言

這次的東西是空間濾波器。我使用繪圖軟體時,除了比較常用模糊之外,其他較少使用。
不過依然值得討論,其中一個原因是我覺得卷積神經網路的構想由此而生。
(僅僅是我覺得,我目前沒有找到彼此相關的證據)

題外話,空間濾波器的遮罩,在 AI 卷積神經網路的領域中叫做卷積核,
裡面的權重會隨著訓練(反向傳播或其他最佳化函數的技巧)而改變。

之所以卷積神經網路對於圖像如此有利,是因為跟全連接網路相比,
卷積核中的權重(整張圖片用同一個核)跟全連接的權重少上許多,
所以可以大幅度減少運算量。

(圖 1)原始圖片


平滑濾波器

平滑濾波器可以實現的模糊功能是我最常使用的功能,
搭配光暈可以做出漂亮的效果,技術方面應該是最容易實踐的濾波器。

(圖 2)模糊濾波器
值得一提的是,近來人工智慧領域的進步已經存在將模糊轉為清晰的方法:
數位時代《Google Brain新研究:用機器學習消除馬賽克、提高像素》

如果觀察過攝影技術,通常畫面中會存在前後景跟目標物,
目標物通常是整張圖片最清晰的部份,而前後景較模糊。

可以想想是否已經存在判斷圖片前後景的方法?
又或者存在調整圖片中單個物件對焦的方法?

中值濾波器

上了胡椒鹽雜訊後,可以使用中值濾波器消除。
中值濾波在 Paint.net 我比較常用的替代方案是油畫風格,
效果差不多,但顏色在邊界上會溢出。

(圖 3)胡椒鹽訊

(圖 4)中值濾波器
中值濾波器可以保留邊界的特色,
有時可以消去一些細節,但又不會使圖片看起來「不清晰」

這在像素遊戲中是重要的特性,因為像素遊戲的每個圖片物件都有清楚的邊界。
如果貿然引入經平滑(模糊)處理的圖片會顯的格格不入,
這時中值濾波就能起到關鍵作用(同通常我會用油畫風格代替)

回到雜訊的角度,反過來想,在丟入雜訊的時候,
如果刻意設計成中值濾波濾不掉的話,不知道有什麼效果?

銳化濾波器

銳化濾波器是我覺得較神奇的一個,因為他的權重設計不太直觀,
這也間接說明了有些東西不用推論的技巧就沒辦法發現。

(圖 5)銳化濾波器

04360783 沈郁翔 HW3:色階與曲線調整


色階與曲線的調整。由於在 Paint.net 中的曲線是我非常喜歡的功能。
一度想要實作,但總是沒什麼機會。這次趁著作業就順便做了。

(圖 1)Paint.net 曲線功能


對於,曲線功能來說,最關鍵的是插值。
由於我不能找到 Paint.net 的插值方法,所以我使用普通的拉格朗日插值(非重心):

(圖 2)當存在 k 個點 From wikipedia
(圖 3)插值多項式 From wikipedia

(圖 4)插值多項式中的函數 From wikipedia

利用迴圈就可以實做出來,唯一要注意的是隱含的數值轉換,
相除之後 float、double 跟 int 的對應、捨去關係,以及邊界處理。
通過函數 f(x) = min(255, max(0, x)) 處理邊界問題,其中 min、max 定義於 cmath 的 std 中。

(圖 5)原始圖片

(圖 6)Red 曲線上存在一個點,使圖片紅色分量上升

(圖 7)同時存在多個點的情況

(圖 8)三個分量都有做調整的情況
※ 注意圖中的 Red、Green 視窗是另外合成的
軟體實際上沒有實作同時顯示的功能
可以發現,對於任何分量的函數曲線的凹性是上凸時,
由於該色彩的分量增加,圖片的亮度就會上升,可以注意(圖 5)及(圖 6)的差異。

另外觀察(圖 7)可以發現,當曲線非遞增時,圖片的色彩會較不自然。

對於三個分量都有做調整時,也就是(圖 8)的情況。
雖然增加了 Red 分量,但 Green 與 Blue 都減少,使得整體的亮度下降。

但相較(圖 6)紅色明顯增加,由這裡可以發現,
如要增加單一分量而不要增加亮度,則三個曲線平均要剛好是 y = x 線性函數;
如果增加單一分量、而減少亮度,則應該降低另外兩個分量而非提升目標的單一分量。

2017年12月3日 星期日

04360783 沈郁翔 HW2:直方圖與直方圖均化


直方圖跟直方圖均化,經過理解大致上是這樣的東西:
  1. 這裡說的直方圖是「紀錄相片中每個色彩值的數量繪製而成的直方圖」
  2. 直方圖均化是把相當於將直方圖拉平
直方圖均化拉平直方圖的方法是:紀錄累計的數值(也就是累計直方圖)
然後算一算,如果把幅度拉寬,那麼每個色彩值會變成如何。

例子是一張水果圖片(圖 1),以及其直方圖(圖 2)

(圖 1)水果圖片
(圖 2)圖 1 的直方圖
經過直方圖均化後處理,
原本的照片變成(圖 3),以及其直方圖(圖 4):

(圖 3)經均化的水果圖片
(圖 4)均化後圖片的直方圖
觀察直方圖後可以發現,圖 3 的山峰、山谷,在圖 4 中也差不多有對應的特徵。

2017年11月6日 星期一

04360783 沈郁翔 HW1:介紹影像處理軟體




paint.net(又名大畫家)是我最喜歡的影像處理軟體。
事實上,我過去 RPG Maker 所有的點陣素材都是由 pain.net 繪製而成,
正因如此,這次介紹 paint.net 有種推薦老戰友的感覺。


(圖 1)過去的素材目錄縮圖

(圖 2)軟體介面

軟體開啟後,操作介面如圖 2 所示。
介面與其他功能龐大的軟體相比,相當的簡單,
不免讓人懷疑它的功能性,但麻雀雖小五臟俱全,簡潔的介面有時也是另一方面的優點。

先從畫面上四個主要的浮動視窗開始。
讀者可能會疑惑,圖 2 中的浮動視窗僅有三個,那第四個浮動視窗呢?
視線先移至右上角,你會發現有控制浮動視窗的開關。

(圖 3)浮動視窗控制

筆者一般在作業時,會將時鐘(歷史紀錄,圖 5)的視窗關閉。
最主要的原因在於習慣使用快捷鍵 Ctrl + Z(上一步)以及 Ctrl + Y(下一步)的關係。

(圖 4)工具列 (圖 5)歷史紀錄 (圖 6)圖層
(圖 7)調色板
工具列中的工具,由左至右、由上到下:
  • 選取:藍色方塊「矩形選取」
  • 選取:颱風路徑「圈選」
  • 選取:藍色圓圈「圓形選取」
  • 選取:魔術棒「色彩相近選取」
  • 填色:油漆桶「範圍填色」
  • 填色:畫筆「一般畫筆」
  • 填色:鉛筆「點陣畫筆」
  • 填色:印章「複製畫筆」
  • 文字:T字符「文字輸入」
  • 圖形:正方、圓、三角「拉形狀」
  • 控制:藍色游標「控制圖片」
  • 控制:白色游標「控制選擇」
  • 控制:放大鏡「顯示縮放」(不常用,因為 Ctrl + 滑鼠滾輪是快捷鍵。)
  • 控制:手掌「顯示平移」(不常用,習慣以捲軸拖曳。)
  • 填色:反光板「漸層」
  • 填色:粉紅藥丸「橡皮擦」(不常用,常以選擇 + Delete 取代。)
  • 填色:藍色寶劍「吸筆」
  • 填色:紅藍轉移「重新上色」(不常用,常以選擇 + 色相調整取代。)
  • 圖形:直線曲線「線條」
我的工作中,選取、控制是最常用的。
漸層常用來搭配圖 6 的圖層實現特殊功能,比方說增加天空漸層的顏色:

(圖 8)處理前原圖

(圖 8)使用圖層把前後景分離後
前後景中間插入綠、紫漸層
並讓圖層使用「覆蓋於上方」合成方式

(圖 10)另一種處理效果
在上方視窗按鈕的「調整」中,則有一般影像處理使用的工具,如圖 11 所示。
而在「效果」中,則有一些內建效果可以選擇,如圖 12 所示。

(圖 11)調整的工具

(圖 12)內建的效果,不含插件
關於調整、效果通常會搭配工具列的工具使用,
礙於篇幅這邊就不詳細介紹了。