簡單講一下原理和思路:
高斯模糊就是讓乙個高斯矩陣和所要模糊的矩陣相點乘(即兩個矩陣對應位置的兩個數相乘),然後把所得矩陣的各項之和相加,即為模糊中心點的值。
所謂高斯矩陣就是由高斯函式(即正態分佈函式)得到的矩陣。
二維正態分佈函式:
此外,要注意的是由此函式得到的矩陣之和小於1,需要均勻化,使得矩陣之和為1。
貼我的matlab程式**:
clc, clear, close all
img_origin=imread('c:\users\izh***\desktop\**\canny\lena.png');%讀取檔案
img_gray=rgb2gray(img_origin);%灰度化
sigma=1.5;%σ為高斯模糊半徑,半徑越大模糊程度越大
for x = 1: 3
% 垂直方向
for y = 1:3
% 水平方向
weightmatrix(x, y)=exp(-((x-1)^2+(y-1)^2)/(2*sigma^2))/(2*pi*sigma^2);
endendweightmatrix=weightmatrix./sum(sum(weightmatrix)) %使該3*3矩陣之和等於1
[row, col] = size( img_gray );
fori = 1: row % 垂直方向
forj = 1:col % 水平方向
ifi==1 || j==1 || i==row || j==col
img_undist(i, j)=img_gray(i, j);%邊緣未處理
else
minimatrix=single(img_gray(i-1:i+1, j-1:j+1));
img_undist(i, j)=sum(sum( minimatrix.*weightmatrix ));%高斯模糊
endend
endfigure(1);
subplot(121);
imshow(img_gray);%顯示灰度圖
subplot(122);
imshow(img_undist);%顯示灰度模糊圖
模糊效果:
在智慧型車上的應用效果:
高斯函式模糊
高斯函式有兩個特性 1 乙個高斯函式跟另外乙個高斯函式的卷積仍然是乙個高斯函式,a b c c的標準差的平方是a和b的標準差的平方和,也就是說卷積後的高斯函式更寬,模糊的效果更明顯 直觀上看,連續做高斯模糊運算,影象會越來越模糊。2 高斯函式的傅利葉變換仍然是乙個高斯函式,如果原來的高斯函式越寬 標...
MATLAB庫函式大全
附錄21.1資料型別 函式名功能描述 函式名功能描述 cell 生成單元陣列 sparse 生成稀疏陣列 char 生成字串 struct 生成結構 double 轉換成雙精度型 uint8 轉換成無字符號單位元組整數 inline 生成inline物件 附錄21.2結構操作 函式名功能描述 函式名...
matlab自帶函式實現高斯濾波
自己編寫的高斯濾波已理解,可是matlab自帶的高斯濾波函式卻沒有用過,這裡記錄一下。matlab自帶函式實現灰度圖高斯濾波 clear close all img imread lena.bmp sigma 6 標準差大小 window double uint8 3 sigma 2 1 視窗大小一...