2014年6月13日 星期五

[HW5] Watermark

數位浮水印,是指將特定的資訊嵌入數位訊號中,數位訊號可能是音訊、圖片或是視訊等。若要拷貝有數位浮水印的訊號,所嵌入的資訊也會一併被拷貝。數位浮水印可分為浮現式和隱藏式兩種,前者是可被看見的浮水印(visible watermarking),其所包含的資訊可在觀看圖片或視訊時同時被看見。一般來說,浮現式的浮水印通常包含版權擁有者的名稱或標誌。

實作方式:    
  • Replacing a specific color in a bitmap to achieve transparency
  • Changing the opacity of an image through a 5x5 ColorMatrix

float[][] colorMatrixElements = { 
   new float[] {1.0f,  0.0f,  0.0f,  0.0f, 0.0f},
   new float[] {0.0f,  1.0f,  0.0f,  0.0f, 0.0f},
   new float[] {0.0f,  0.0f,  1.0f,  0.0f, 0.0f},
   new float[] {0.0f,  0.0f,  0.0f,  0.3f, 0.0f},
   new float[] {0.0f,  0.0f,  0.0f,  0.0f, 1.0f}
};
改變其中 3rd row 3rd column 的 0.3f 即可得到不同的透明度

Origin Picture


Logo

 Result



Reference :
http://www.codeproject.com/Articles/2927/Creating-a-Watermarked-Photograph-with-GDI-for-NET

2014年6月6日 星期五

[HW4] Skin Detection with HSV

The R,G,B values are divided by 255 to change the range from 0..255 to 0..1:

R' = R/255
G' = G/255
B' = B/255
Cmax = max(R', G', B')
Cmin = min(R', G', B')
Δ = Cmax - Cmin

Hue calculation:

Saturation calculation:

Value calculation:
V = Cmax

The skin in channel H is characterized by values between 0 and 50, in the channel S from 0.23 to 0.68 for Asian and Caucasian ethnics.
Origin Picture

Skin Detection

[HW4] Color Space RGB to HSI

Hue(色相)
    是色彩的基本屬性。

Saturation(飽和度)
    是指色彩的純度,越高色彩越純,低則逐漸變灰,取0-100%的數值。

Intensity(亮度)
    為亮暗程度,取0-100%。

並利用以下公式轉換:
The R,G,B values are divided by 255 to change the range from 0..255 to 0..1:
R' = R/255
G' = G/255
B' = B/255


Origin Picture

Hue(色相)

Saturation(飽和度)

Intensity(亮度)



2014年5月11日 星期日

[HW4] Frequency Filtering

分別在空間域與頻域實作 Gaussian 平滑濾波器,必須可調整濾波器的標準差參數與濾波器大小
(Filter Size 3x5, 5x5 等)。

首先根據以下公式,產生一個 Gaussian mask
而後直接套用於原圖上即可

原圖

空間域處理
Sigma = 1.5, filter 3 x 3



而Gaussian smooth filter在頻域上,以下方公式產生一個Gaussian smooth filter



Mask圖片

D0 = 20.0

再將filter乘上做完離散傅立葉轉換後的每個點,再利用公式做反傅立葉轉換

頻域處理

[HW4] Discrete Fourier Transform

計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度以灰階 256 色圖像方式呈現。

先將圖片各點利用傅立葉公式進行計算
各點會得到複數
再利用以下公式運算,即可得到各點頻譜大小

原始圖片

離散傅立葉轉換

離散傅立葉轉換 + Log加強

離散傅立葉轉換的相位角 



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