視覺筆記---空間域圖像增強

準備知識:空間域,頻率域概念,傅里葉變換。Matlab與VC++
引言:圖像增強技術可分成兩大類,一類是空間域增強一類是頻率域增強。 有些濾波更適合在空間域完成,有些是更適合 頻率域完成。
空間域圖像增強技術主要包括直方圖修正,灰度變換增強,圖像平滑化以及圖像銳化等。多幾種方法聯合處理。

一、圖像平滑

1.邊界處理中,有增和減的兩種方法,如複製像素,常數填充方法,及收縮處理方法。
2.Matlab中,濾波函數爲imfilter()
原型 g=imfilter(f,w,option1,option2,…);
f是要進行 濾波的圖像,w是濾波操作所使用的模板,爲一個二維數組
選項內容如下
邊界選項(針對邊界處理問題),尺寸選項(指定輸出圖像的大小),模式選項(濾波相關還是卷積)
3. 二維濾波器函數fspecial();
其中有高斯模板gaussian,平均模板average,拉普拉斯模板laplacian等
matlab代碼

I=imread(‘noise.bmp’);
figure,imshow(I);

h3_5 = fspecial(‘gaussian’,3,0.5);
I3_5 = imfilter(I,h3_5,’replicate’); % 重複邊緣像素
figure,imshow(I3_5);

二、平均濾波

噪聲的存在使得在噪聲點處產生灰度跳躍,將每一個點用周圍點的灰度值平均替代,從而達到減少噪聲影響的過程就稱爲平滑或模糊。
一般 平均模板爲
這裏寫圖片描述
w提供 一種平均的加權模式
C++實現

imgInput.Template(&imgOutput,3,3,1,1,Template_Smooth_Avg,(float)1/9);//模板長寬,中心座標
**三、高斯濾波**
----------
隨着距離中心點的距離增大,權重迅速減小,從而可以確保中心點看起來更接近地與它距離更近的點,基於這 樣的考慮得到的模板即爲高斯模板。
常用的3*3高斯模板如下
![這裏寫圖片描述](https://img-blog.csdn.net/20160612203843783)

這裏寫圖片描述

//C++常用模板數組

// 平均平滑  1/9
float Template_Smooth_Avg[9]=
{1, 1, 1,
1, 1, 1,
1, 1, 1};
// Gauss平滑  1/16
float Template_Smooth_Gauss[9]=
{1, 2, 1,
2, 4, 2,
1, 2, 1};
// Sobel垂直邊緣檢測
float Template_HSobel[9]=
{-1, 0, 1, 
-2, 0, 2, 
-1 ,0 , 1};

// Sobel水平邊緣檢測
float Template_VSobel[9]=
{-1, -2, -1,
0, 0, 0, 
1, 2, 1};

// LOG邊緣檢測
float Template_Log[25]=
{0, 0, -1, 0, 0,
0, -1, -2, -1, 0,
-1, -2, 16, -2, -1,
0, -1, -2, -1, 0,
0, 0, -1, 0, 0};
//Sigma = 2,較平滑
double Template_Log1[25]={0.0448,    0.0468,    0.0564,    0.0468,    0.0448,
    0.0468,    0.3167,    0.7146,    0.3167,    0.0468,
    0.0564,    0.7146,   -4.9048,    0.7146,    0.0564,
    0.0468,    0.3167,    0.7146,    0.3167,    0.0468,
    0.0448,    0.0468,    0.0564,    0.0468,    0.0448
};

// Laplacian邊緣檢測
float Template_Laplacian1[9] = {0, -1, 0,
-1, 4, -1,
0, -1, 0
};
float Template_Laplacian2[9] = {-1, -1, -1,
-1, 8, -1,
-1, -1, -1
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章