2019年1月3日 星期四

01361162 蕭夢葙 HW4


平滑濾波器 (Smoothing filter) 主要用途是模糊化和減少雜訊,
簡單來說就是給以九宮格為單位的九個點特定的權重,把帶有權重的色彩值相加再除以九,
這樣得到的色彩值就與相鄰的色彩值更相近,
相鄰點的色差減少,形成模糊化的效果


中間濾波器可以用來消除脈衝雜訊,脈衝雜訊是以白點或黑點的形式在影像中出現,
就像鹽和黑胡椒撒在影像上一樣,所以又叫做胡椒鹽雜訊。


使用中間濾波器消除脈衝雜訊的結果,能除掉八成以上的雜訊,但不能完全清除,
若多次執行則會令圖片變得非常模糊


銳化濾波器的目的是強化影像細節,
使用後圖片的線條變得更明顯



01361162 蕭夢葙 HW3


首先是Levels色階調整功能,先載入圖片,
再輸入新的InputMin、InputMax、OutputMin和OutputMax四個值,範圍都是0到255,
再按Levels Apply就會得出色階調整後的圖片



接下來是Curve曲線調整功能,同樣先載入圖片,
在Curve版面上點擊任意區域(x,y)以控制曲線弧度,
點擊偏左上區域會令圖片變亮,偏右下區域則令圖片變暗
按下Curve Apply就會得到調整後的圖片




01361162 蕭夢葙 HW2


首先載入圖片,畫出直方圖


接著是均化後的圖片和它的直方圖


05360623 張克承 HW1

在我隨邊的搜尋了一下找到了一個名為Phtopea的修圖網站很方便連下載都不用,就可以直接在網站上做一些簡單的修圖像是某一次作業要做的平滑和銳化都找的到下圖就是使用平滑的功能對臉部做模糊化而功能在左邊工作列和上方而右上角顯示著歷史紀錄可以記錄你每一步所做的每一件事情,當做錯時也不用一步一步按返回鍵可以直接返回想要返回的紀錄以上為Phtopea的簡單介紹

05360623 張克承 HW5

這次要介紹兩種色彩模型,RGB和YUV下圖為RGB個固定兩種顏色第三種顏色可以根據scrollbar改變的數值使圖片改變
下圖中的右上角模型為YUV下面的scrollbar可以調整Y(亮度)。X軸為U(色度)Y軸為V(濃度)
而要做出下面的圖片要將圖片灰階後記下Y的數值在使用滑鼠選擇想要的U和V填入後將YUV使用公式轉換成RGB即可更新圖片得下圖

整數運算的 RGB to YUV 轉換公式: 
Y = ( ( 66 * R + 129 * G + 25 * B + 128) >> 8) + 16 
U = ( ( -38 * R - 74 * G + 112 * B + 128) >> 8) + 128 
V = ( ( 112 * R - 94 * G - 18 * B + 128) >> 8) + 128
整數運算的 YUV to RGB 轉換公式: 
C = Y - 16 
D = U - 128 
E = V – 128
R = clip(( 298 * C                  + 409 * E + 128) >> 8) 
G = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8) 
B = clip(( 298 * C + 516 * D                 + 128) >> 8)


05360623 張克承 HW4

空間濾波是一種採用濾波來的影像增強方式,目的是改善影像品質,包括去除高頻噪聲與乾擾,及影像邊緣增強、線性增強以及去模糊等。現在我會依序介紹三種空間濾波的方式來讓大家認識
(1)平滑空間濾波器:此濾波器的主要用途是將圖片去雜訊和模糊化
像是下面圖片的五邊形原本的邊呈現似齒狀但是經過處理後的圖二就顯得平滑許多

(2)中值濾波器與胡椒鹽雜訊:中值濾波器可以消除脈衝雜訊而脈衝雜訊因為像是胡椒鹽均勻撒在盤子內又稱為胡椒鹽雜訊。下圖一為一張胡椒鹽雜訊經郭中值濾波器處理後雜訊就少了許多比較能看清原圖的照片

最後要介紹的就是銳化濾波此濾波器的月地是將不清楚的細節加以強化使原本看不到的細節能夠更清楚地呈現出圖一原本為模糊的月球表面經過處理後一些看不見得線條就能呈現出



2018年12月23日 星期日

04362782 柯岱佑 HW05

色彩模型
這邊是介紹RGB 跟YUV
RGB就是三原色然後把圖給畫出來。
YUV,彼此有重疊。「Y」表示明亮度(Luminance、Luma),「U」和「V」則是色度、濃度(Chrominance、Chroma)。



左上(藍色象素可變動)
右上(紅色象素可變動)
左下(綠色象素可變動)
右下(Y值可變動)



他們之間的公式轉會為



這個應該是程式碼最少的作業了,我們把圖片先轉成灰階,就是(R+G+B) / 3,我們把得到的這個值轉成YUV,我們要的只有Y值而已,UV填上你在YUV模型上選的顏色U是X值Y是V值,然後再把它們轉回RGB,更新畫面就完成了,主要就是當我們要更改一個影像的基底風格時,用YUV去更改會是一個很方便的做法。

04362782 柯岱佑 HW04

空間濾波
現在美肌APP,或是一些濾鏡基本上用到的都是空間濾波的概念,人工智慧裡CNN也是透過類似的概念去抓取影像中的特徵點來做運算,以下會介紹最基本的三種濾波。

原理是我們透過一個基數的方陣3*3、5*5之類的將你要修改的象素點放在中間位置,你就會獲得這個點的色彩值與他周圍象素的色彩值在根據這些值去做修改。

Smoothing Filter(平滑濾波器)
我們給九個點對應的權重,再把他們相加,最後平均這樣它的色彩值就會更趨近於鄰近的色彩值,當色彩值相近就會使色差減少形成一個柔化的效果。


 胡椒鹽與中值濾波器(Median Filter and Pepper-and-salt Noise)
以前的相機當你把ISO值調太高的時候很容易就會有雜訊跑出來,一點一點的跟胡椒鹽一樣,所以我們把它稱為胡椒鹽雜訊,而中值濾波器可以幫助我們把胡椒鹽雜訊消除掉,那他要做的方法是把極端的值給排除掉,那他會把抓到的九個點逕行排列然後取中位數,基本上極端的都會出現在兩側所以可以透過這樣把它個替換掉,但這樣也出現了一點柔化的效果,因為她也不是原本的值他只是找了一個相近的值來替換他而已。

胡椒鹽雜訊
經過中值濾波器處裡後
銳化濾波器(sharp filter)
當我們照相時些微的顫抖照成了照片有點模糊時,銳化濾波器可以幫我們呈現一個較清晰的影像,那他會用到一些微積分,拉普拉斯轉換我也看不太懂為甚麼要這樣做,但最後減化出來的公式,大概了解到我們給予中間點即高的權重,讓他減去周圍的點,剩下的值一定比原來的值高或低,與周圍個治的差也會變大,因此加強了色差,形成了較強的對比度讓畫面更佳的顆粒。

原圖

寫這份作業遇到的問題是imageRowInitialPosition = (unsigned char *)Image1->Picture->Bitmap->ScanLine[i];這個東西一次只抓一列得色彩值要處理這個要嘛一次抓三列,但感覺很麻煩所以我創了3個陣列把RGB各至丟進去,再創3個陣列去裝銳化後的值因為,只用一組的化再改動時會改到原來的值,這樣下一個值就不是依原圖來做銳化處裡了,所以總共6個陣列,但當圖太大時C++ Builder會說 Stack Overflow 所以你必須用動態宣告他把空間創在heap,然後再做銳化得時候得到的值有可能小於0或大於255要記得處裡一下不然圖片會出現奇怪象素點。


04362782 柯岱佑 HW03

色階與曲線調整
原圖

這是我們用色階把Outputmax 的部分調低,可以看到整張照片跟著變暗
因為(255,255,255)是白色,當我Outputmax 限制200時他最量其實就只是個灰色。

曲線調整與色階調整不同的地方是你可以把暗部或亮部更加凸顯出來但不影響原本的最暗或最亮的部分,不會整體變暗或變亮。
色階公式

曲線公式(二次曲線要通過的那個點的X值為S、Y值為T原點分別是(0,0)與(255,255))


寫這個作業跟上一個作業一樣都是對數值做轉換,色階是依比例轉換,曲線是一個二次曲線,把公式寫進去把值丟進去,就結束了,我們可以透過建表用一個hashmap[256]來存放轉換出來的值,這樣我們就不需要每次都做運算我們可以第一次就把所有的值算出來放到雜湊表裡,剩下的就只是查表作業。

碰到最難的問題是在畫曲線的部分,因為畫圖的方式是從左下到右上但左下的點是(0,255)不是(0,0)所以要做一些處理你的輸出值要用255去減,這樣在畫得時候才會反過來。



2018年12月6日 星期四

05360623 張克承 HW3

首先先做level並插入圖片
再輸入想要的InputMin,OutPutMin,InputMax,OutputMax
經過運算後可得到某點色彩值經過調整後得到的新值並更新圖片
醜爆可以按原圖即可恢復原本想要的圖片並重新調整

Level做完後現在做Curve
點擊想要的(x,y)可得到新的曲線並調整圖片亮度
如果點擊處位於直線上方圖片變亮
相反的點擊下方圖片變暗