版權聲明:本文為原創文章,水平有限,歡迎轉載,但請注明轉載出處http://blog.csdn.net/niuwei22007,謝謝。?。?!聯系方式見左側?。?!
原鏈接:http://blog.csdn.net/niuwei22007/article/details/48969709可以查看更多文章
卷積操作是對圖像處理時,經常用到的一種操作。它具有增強原信號特征,并且能降低噪音的作用。 那么具體是如何計算的呢?且看下文。
待處理圖像數據(5*5): 卷積核:(3*3)
A = [17 24 01 08 15 H = [8 1 6
23 05 07 14 16 3 5 7
04 06 13 20 22 4 9 2]
10 12 19 21 03
11 18 25 02 09]
步驟:
1) 將算子圍繞中心旋轉180度
H’=[2 9 4
7 5 3
6 1 8]
2) 滑動算子,使其中心位于輸入圖像g的(i,j)像素上
3) 利用公式求和,得到輸出圖像的(i,j)像素值
(2,4)元素值= 1* 2+ 8* 9+15* 4
+ 7* 7+14* 5+16* 3
+13* 6+20* 1+22* 8=575
4) 重復2),3),直到求出輸出圖像的所有像素值
二.邊緣效應
核的一部分會位于圖像邊緣外面
1)使用常數填充:默認用0填充,這會造成處理后的圖像邊緣是黑色的。
2)復制邊緣像素:
主要參考目錄:
這里討論利用輸入圖像中像素的小鄰域來產生輸出圖像的方法,在信號處理中這種方法稱為濾波(filtering)。其中,最常用的是線性濾波:輸出像素是輸入鄰域像素的加權和。
定義:, 即
,其中h稱為相關核(Kernel).
步驟:
1)滑動核,使其中心位于輸入圖像g的(i,j)像素上
2)利用上式求和,得到輸出圖像的(i,j)像素值
3)充分上面操縱,直到求出輸出圖像的所有像素值
例:
A = [17 24 1 8 15 h = [8 1 6 23 5 7 14 16 3 5 7 4 6 13 20 22 4 9 2] 10 12 19 21 3 11 18 25 2 9]
計算輸出圖像的(2,4)元素=
Matlab 函數:imfilter(A,h)
2.卷積算子(Convolution)
定義:
,
,其中
步驟:
1)將核圍繞中心旋轉180度
2)滑動核,使其中心位于輸入圖像g的(i,j)像素上
3)利用上式求和,得到輸出圖像的(i,j)像素值
4)充分上面操縱,直到求出輸出圖像的所有像素值
例:計算輸出圖像的(2,4)元素=
Matlab 函數:Matlab 函數:imfilter(A,h,'conv')% imfilter默認是相關算子,因此當進行卷積計算時需要傳入參數'conv'
3.邊緣效應
當對圖像邊緣的進行濾波時,核的一部分會位于圖像邊緣外面。
常用的策略包括:
1)使用常數填充:imfilter默認用0填充,這會造成處理后的圖像邊緣是黑色的。
2)復制邊緣像素:I3 = imfilter(I,h,'replicate');
4.常用濾波
fspecial函數可以生成幾種定義好的濾波器的相關算子的核。
例:unsharp masking 濾波
分類: R-Computer Vision
12345 I = imread(
'moon.tif'
);
h = fspecial(
'unsharp'
);
I2 = imfilter(I,h);
imshow(I), title(
'Original Image'
)
figure, imshow(I2), title(
'Filtered Image'
)
新聞熱點
疑難解答