顯示具有 05362631 趙宏鵬 標籤的文章。 顯示所有文章
顯示具有 05362631 趙宏鵬 標籤的文章。 顯示所有文章

2017年1月6日 星期五

05362631 趙宏鵬 HW06

作業內容:YUV色彩模型以及RGB-YUV色彩轉換
一、YUV色彩模型
繪製YUV色彩模型最重要的地方是YUV轉換成RGB的公式,首先構造一個256*256的Image,x與y軸分別代表U和V,Y是固定的,然後通過雙層回圈計算出每個点的RGB值,然後將其繪製出來。
實現圖:
繪製色彩模型要注意的是需要用整數運算的轉換公式,將YUV轉成RGB,否則會使得色彩很詭異,猜測可能是忽略了小數的位數使得精度不夠。然後要注意需要檢測轉化成的RGB的範圍,當其小於0時設置為0,大於255時設置為255.
二、YUV-RGB色彩轉化
在色彩模型上點擊,就會得到點對應的(x,y),其對應得就是UV,而Y是通過影像轉灰階時計算出來的,所以是固定的,然後通過YUV轉RGB的公式計算出RGB。
原圖


效果圖

效果圖
心得:
  這節內容實現了APP中彩色濾鏡的效果,明白了YUV的原理。其次意識到在進行色彩運算時,精度非常重要,將小數忽略會讓色彩很不準確。
  這次作業碰到了一個問題,就是當選擇的色彩為緑色或者藍色時,會出現下面的情況:

  很苦惱不知道是什麽原因造成的,查了好多遍程式碼也沒有找到問題,時間也安排的太緊沒有更多時間去修改,很抱歉。




2017年1月1日 星期日

05362631 趙宏鵬 hw05

作業內容:空間濾波
一、平滑化
步驟:
1、利用雙層回圈遍歷圖像的像素點。
2、以每個像素點為中心,求周圍像素點的平均值或帶權重的平均值。
3、將更改後的圖片顯示出來。
平滑化的重點有兩個,一個是遮罩的大小,一個是平均值帶不帶權重。我採用了3*3的遮罩。
原畫

不帶權重的平均濾波器
帶權重的平均濾波器
從效果來看,經過平滑化后,圖片變得模糊,細節沒那麽突出。而帶不帶權重似乎影響不大,原因有可能是圖片中相鄰像素間的區別不大。
二、鋭利化
鋭利化與平滑化只是求像素的方式不同,平滑化的過程中,是儘量減少周圍像素間的差異,而鋭利化是儘量增大周圍像素間的差異。
原畫

鋭利化
從效果圖可以看出,山上的雪與水的波紋都勾勒了出來,細節突出明顯。但是也有一些例外:
原畫 
鋭利化
這張圖片的鋭利化效果很差,雖然手上的細節突出很明顯,但中間的葉子只剩下基本的輪廓。明明一個算法,為什麽差距這麽大?老師提醒原因有可能出現在圖片的格式上。我這張圖片是經過jpg轉化成bmp的,jpg本來是經過壓縮的,有很多類似於馬賽克的像素點,經過鋭利化后,該“馬賽克”被突出,造成了這樣的效果。
三、撒胡椒鹽與中值濾波器
例如撒5%胡椒鹽:利用雙層回圈,每100個像素點,隨機選出5個像素點將RGB都改為255。
中值濾波器:中值濾波器與平滑和鋭利相似,只是將像素值改為遮罩內的中值。

1%胡椒鹽

中值濾波后
5%胡椒鹽

中值濾波後
20%胡椒鹽

中值濾波后
心得:
從效果圖可以看出,1%與5%胡椒鹽中值濾波后,效果相差無幾,而20%中值濾波會很模糊而且仍有胡椒鹽。可以看出中值濾波器在處理少量胡椒鹽時效果很好。對於20%胡椒鹽中值濾波後的圖片,我想可以再次進行中值濾波,是不是可以將胡椒鹽去除掉?
3次中值濾波後的效果
對20%胡椒鹽的圖片進行三次中值濾波后,可以看到胡椒鹽已經沒有了,但是生成的圖片十分模糊。但是圖片有種油畫的效果。在網路上搜索了油畫算法後,發現有一種油畫算法與此很相似。該油畫算法用當前點四周一定範圍內任意一點的顔色替代當前點的顔色,而中值濾波器是用中值替代當前點算法,這只是一個隨機與指定的區別,所以效果很相似。









2016年12月25日 星期日

05362631 趙宏鵬 HW03

作業內容:色階與曲綫調整
一、Levels
levels的重點是按照函數處理色階值。
步驟:
1、首先設定iInputMin、iOutMin、iInputMax與iOutputMax。
2、利用雙層回圈,遍歷所有的色階值,原像素的色階值為iInput,當iInput小於iInputMin時,iOutput=iOutputMin。當iInput大於iInputMax時,iOutput=iOutputMax。當iInput在iInputmin與iInputMax之間時,公式為:
3、將更改色階後的圖片顯示出來。
實現圖:

二、curve

curve與levels類似,只是色階轉換的函數不同,curve的色階調整函數是一個二次函數。
1.二次函數的計算
首先需要通過滑鼠的點擊,將一次函數轉換成二次函數。(S,T)為滑鼠點擊的點,轉換公式為:
2.通過兩層回圈,遍歷各像素的色階值,按照公式對其進行調整。
實現圖:
原圖
偏亮

偏暗
三、心得
  levels和curve是很相似的,只是其色階調整的函數有所不同。curve中當滑鼠點的點x>y時,畫面變暗,當x<y時,畫面變亮。可以通過該操作,實現對畫面亮度的調節。
  curve有兩點需要注意,第一個是色階調整函數給出的結果需要在0-255之內,當小於0時改為0.大於255時改為255.第二點是程式碼中進行計算的參數必須是float類型,因為運算中有很多平方和立方運算,如果是整數類型會損失很多精度,造成畫面效果失常。還有就是老師的ppt中有一個錯誤,ppt中給出的函數為:
正確的函數應該為:


2016年12月24日 星期六

05362631 趙宏鵬 HW02

作業題目:影像直方圖統計和直方圖均化
一、影像直方圖統計
步驟:
  1. 宣告存儲RGB三種顔色數量的數組,因為每種色彩有256种強度,因此數組長度為256.
  2. 利用雙層回圈,統計各色彩的數量,儲存進對應的數組中。
  3. 畫出直方圖。
   感覺畫出直方圖這一步是最難的。首先定義畫筆的顔色,然後根據色彩數量,計算出在canvas上對應的長度,然後利用LineTo()函數畫出對應的直方圖。這里我模仿了老師的示範的程序。
效果圖:
紅色直方圖
 
緑色直方圖


藍色直方圖

RGB直方圖

二、累積直方圖
畫累積直方圖與上面的色彩直方圖類似,只是將每種色階像素的數量變為小於等於該色階像素的總和。
累積直方圖
可以看出它的趨勢是不斷上升的。
三、直方圖均化
直方圖均化最重要的是公式:
依據公式,計算出每個像素的均化后的色階值:
然後更新圖像的像素值,refresh出來。
原畫1

均化后

原畫2

均化后
四、心得

這次作業讓我從數字的角度理解圖片。圖片的本質是一堆像素點的堆砌,處理圖片就是處理這些數字。直方圖均化通過將這些“數字”均化開來,使得圖片顔色變得均勻,從而使得暗色的圖片色彩變得鮮亮,讓圖片變得清楚。本來鮮亮的圖片經過均化後,會有一層濾鏡效果,有別樣的美感。直方圖均化對於處理暗色的圖片有特別好的效果,使得圖片能夠看清楚,這跟提升圖片亮度的效果很相似。
利用手機APP提升亮度的效果

2016年10月2日 星期日

05362631 趙宏鵬 HW01

圖片處理應用:Snapseed的簡介及使用感想

   SnapseedGoogle收購的一款手機修圖軟體。它不像美圖秀秀,可以一鍵傻瓜式的修圖,而像Photoshop,可以調節圖片的各種細節效果。因此,它在操作上比其他修圖軟體更加繁瑣,但是在效果上,更能滿足不同人的需要,被譽為移動平臺的Photoshop
使用簡介
   主頁面:主頁面簡潔自然,很有小清新的風格,每次只能打開一張圖片,進行修改。
  功能頁面:Snapseed提供了工具和濾鏡兩大類功能,工具類可以根據需求,對圖片進行不同的調整。濾鏡類可以對圖片添加不同的效果。點擊不同的功能方塊,便可以進入相應的功能頁面。

   下面,我選擇了一些常用的功能,進行詳細介紹:
調整圖片:
   通過手指的上滑與下滑,選擇要進行更改的選項,比如亮度,對比度等,然後通過手指的左滑與右滑,更改值的大小。使用者也可以點擊自動調整按鈕,讓Snapseed自動調整圖片到最佳效果。更改完成後,點擊完成按鈕,保存更改。
突出細節:
   在突出細節介面,使用者可以通過上滑下滑選擇結構或者銳化,然後左滑右滑進行值的加減。通過這兩個值的調整,可以突很好的突出圖片細節。
裁剪:
   裁剪功能提供了很多不同的裁剪比例,使用者可以根據需求,進行圖片大小的調整。
畫筆:
畫筆功能提供了更加專業的細節調整功能,使用者可以更改圖片的某一小的區域的曝光程度,色溫等,針對不同圖片的不同需求,做出專業的調整。

除了這些功能外,Snapseed還提供了旋轉、透視、白平衡、修復、文字等功能,可以更加細緻專業的調整圖片。此外,濾鏡功能也是它的一大特色。濾鏡功能可以很方便的將圖片更改風格,產生不同的效果,並且用戶還可以設定效果的輕重程度。以下是不同濾鏡效果的展示:





           

   通過一段時間的使用,我感覺Snapseed的各項功能都非常專業,雖然比美圖秀秀操作複雜了些,但是效果是不可比擬的,無愧於移動端Photoshop的稱號。其中好多功能非常好玩,既能做出專業的圖片效果,又能做出惡搞的搞笑圖片,值的我們體驗。