2014年3月26日 星期三

[HW3] Sobel Edge Detection

Edge Detection (邊緣偵測) 有許多不同方法。

Sobel 的方法就是算出影像的垂直梯度(gradient)與水平梯度
兩者取絕對值相加即可。

運用影像摺積(convolution)運算的原理,它的兩個核心(kernel)或稱加權函數(weighting function) g1與g2分別為

將影像 f 與 g1 g2 進行影像摺積運算得 

然而 Sobel 運算出的結果即是


 簡化為

 故假設

經過以上運算得



實作結果

Before Edge Detection

After Edge Detection


[HW3] Histogram Equalization

Histogram Equalization (直方圖均衡化) 圖像處理領域中利用圖像直方圖對比度進行調整的方法。












這種方法通常用來增加許多圖像的全局對比度,尤其是當圖像的有用數據的對比度相當接近的時候。通過這種方法,亮度可以更好地在直方圖上分布。這樣就可以用於增強局部的對比度而不影響整體的對比度,直方圖均衡化通過有效地擴展常用的亮度來實現這種功能。


實作結果


Before Histogram Equalization

After Histogram Equalization



2014年3月13日 星期四

[03/13/14][HW2] Image Rotation


(1) nx , ny 先平移 (-ox,-oy),得到 nx2, ny2 
    nx2 = nx - ox , ny2 = ny - oy

(2) nx2, ny2 經由旋轉矩陣,旋轉 theta 度,得到對應的 x, y
     x = nx2 * cos(theta) + ny2 * sin(theta) + ox

(3) 再將 x, y 平移 (ox, oy)
    y = -nx2 * sin(theta) + ny2 * cos(theta) + oy

Code Implement




參考資料來源:

[03/13/14][HW2] Bilinear Interpolation


a, b, c, d 四個點的灰度值分別為 f(a), f(b), f(c), f(d),現在要來求 f(p)
假設 p 至 a 的水平距離為 alpha
假設 p 至 a 的垂直距離為 beta
由於abcd四點都是相鄰間距為1單位的格子點上
所以 p 至b 的水平距離為 (1-alpha)
所以 p 至c 的垂直距離為 (1-beta)
其它依此類推...

Bilinear 的精神就是影響力與距離成反比所以
f(p) = (1-alpha)*(1-beta)*f(a)
         + alpha*(1-beta)*f(b)
         + (1-alpha)*beta*f(c)
         + alpha*beta*f(d)

Code Implement

附圖為 實際操作圖



[03/13/14][HW2] Nearest Neighbor Interpolation

找離 (x , y) 最近的整數點 (xout , yout),以 f(xout , yout) 代替未知的 f(x , y)
而 f(x , y) 就是縮放後的 g(u , v)的值。

假設
XRatio = NewWidth / OldWidth;
YRatio = NewHeight / OldHeight;

故將 u* XRatio + 0.5 取整數即為最靠近點之座標

Code Implement

附圖為 實際操作圖


參考資料來源:
朱式幸福