(a) 設計一個程式 在圖像 中加入一個可見浮水 印。(輸入 的浮水 印為一張單色 圖像)。
使用addWeighted(imageROI,0.7,logo,0.3,0,imageROI);
0.7和0.3可以調他的透明度
2014年6月13日 星期五
2014年6月6日 星期五
顏色空間轉換
(a) 將輸入圖 轉換至 HIS顏色 空間, 並以灰階 將 H,S,I 各顏色通道繪出。
HSV(HSI)是一種將RGB色彩模型中的點在圓柱坐標系中的表示法。此種表示法試圖做到比RGB基於笛卡爾坐標系的幾何結構更加直觀。
(b) 撰寫 一個函數 偵測 圖像 的膚色區域(將膚色與背景 區域區分出以單色圖像輸出。 )
http://ccw1986.blogspot.tw/2012/11/opencvycbcr.html
HSV(HSI)是一種將RGB色彩模型中的點在圓柱坐標系中的表示法。此種表示法試圖做到比RGB基於笛卡爾坐標系的幾何結構更加直觀。
HSV即色相、飽和度、明度(英語:Hue, Saturation, Value),又稱HSB,其中B即英語:Brightness。
- 色相(H)是色彩的基本屬性,就是平常所說的顏色名稱,如紅色、黃色等。
- 飽和度(S)是指色彩的純度,越高色彩越純,低則逐漸變灰,取0-100%的數值。
- 明度(V),亮度(L),取0-100%。
(b) 撰寫 一個函數 偵測 圖像 的膚色區域(將膚色與背景 區域區分出以單色圖像輸出。 )
http://ccw1986.blogspot.tw/2012/11/opencvycbcr.html
2014年5月11日 星期日
Discrete Fourier Transform and Frequency Filtering
離散傅立葉轉換
將空間域的影像轉換成頻域,藉以達到使用頻域濾波器修改的效果或是壓縮儲存。
上述第一行公式F(k,l)就是二維的傅立葉轉換,效果就是把原圖的每一個像素,轉換成複數形式,其中f(i,j)就是原圖的像素。
至於在程式中實作,由於沒有虛數型態的緣故,將實數和虛數分開,這樣就可以分別利用了!
至於在程式中實作,由於沒有虛數型態的緣故,將實數和虛數分開,這樣就可以分別利用了!
phase angle(相位角) spectrum(頻譜)
頻域濾波器
而這次要實作的低通濾波器便是應用在影像處理中的「高斯低通濾波器」,又或者可以稱它叫做「平滑濾波器」,原因是我們都知道當一個影像以信號的方式表現時,其高頻的部分就是鄰近像素變化大的地方─輪廓;低頻的部分則是像素變化小的地方,所以當我們讓影像低頻部分通過而移除高頻的部分,就會將輪廓、細節的部分移除,使的影像更加平滑。
右邊是經過平滑處理的結果
將空間域的影像轉換成頻域,藉以達到使用頻域濾波器修改的效果或是壓縮儲存。
2014年3月24日 星期一
影像增強 (直方圖均化 )與邊緣偵測 與邊緣偵測
直方圖均衡化 (Histogram Equalization)是通過灰度變換將一影像轉換為另一影像具有均衡直方圖,即在每個灰度級上都具有相同的像素點數過程。從分佈圖上的理解就是希望原始圖像中y軸的值在新的分佈中能盡可能的展開。變換過程是利用累積分佈函數對原始分佈進行映射,生成新的均勻拉伸的分佈。因此對應每個點的操作是尋找原始分佈中y值在均勻分佈中的位置,如下圖是理想的單純高斯分佈映射的示意圖:
透過內件函式equalizeHist( )
可以看出經過處理的圖片亮度可以更好地分佈在直方圖上
均化後的直方圖
------------------------------------------------------------------------------------------------------------
sobel operators:
Edge detection 的目的是要找出灰階有劇烈變化的
邊界。
透過函式Sobel() 的方法就是算出影像的垂直梯度(gradient)與水平梯度
兩者取絕對值相加
參考資料:
sobel operators:
http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/sobel_derivatives/sobel_derivatives.html
直方圖:
http://www.csdn123.com/html/itweb/20131102/200940.htm
histogram-equalization:
http://cg2010studio.wordpress.com/2012/11/12/opencv-histogram-equalization-%E7%9B%B4%E6%96%B9%E5%9C%96%E5%9D%87%E8%A1%A1%E5%8C%96/
2014年3月12日 星期三
影像的縮放與旋轉
一張圖片的RGB是存在data的一維陣列裡,所以我們透過上面的方法把它轉成二維陣列,一張圖片的寬度width還要乘3,也就是3個channel(R,G,B)就等於widthstep
data裡面的儲存方式:
BGRBGRBGR
BGRBGRBGR
BGRBGRBGR
Nearest Neighbor Image Scaling
經過各種複雜的演算法之後我們會算出哪個顏色該放在哪個位子,再將三個顏色放回照片的data裡,
以下是資料的儲存方式:
Blue[][]: Red[][]: Green[][]: data:
B B B R R R G G G BGRBGRBGR
B B B R R R G G G BGRBGRBGR
B B B R R R G G G BGRBGRBGR
以放大兩倍為例,只要將顏色放兩次即可,如下
BGRBGR BGRBGR BGRBGR
BGRBGR BGRBGR BGRBGR
BGRBGR BGRBGR BGRBGR
BGRBGR BGRBGR BGRBGR
BGRBGR BGRBGR BGRBGR
BGRBGR BGRBGR BGRBGR
data裡的資料就變成這樣
----------------------------------------------------------------------------------------------
旋轉
我們先建立一個一樣大小的二陣列維nBlue,nGreen,nRed來儲存旋轉後的的顏色再用一樣的方法放回影像的data裡
參考資料
http://yester-place.blogspot.tw/2008/07/iplimage2_11.html
訂閱:
意見 (Atom)















