50字范文,内容丰富有趣,生活中的好帮手!
50字范文 > 高斯滤波matlab函数 matlab自带函数实现高斯滤波(gauss filter)快速算法

高斯滤波matlab函数 matlab自带函数实现高斯滤波(gauss filter)快速算法

时间:2019-06-13 05:57:06

相关推荐

高斯滤波matlab函数 matlab自带函数实现高斯滤波(gauss filter)快速算法

将高斯核分为水平方向和垂直方向,先后对图像进行卷积处理,可提高处理速度。

function output=gaussFilter(I,sigma)

output=I;

ksize=double(uint8(3*sigma)*2+1);%窗口大小一半为3*sigma

window = fspecial('gaussian', [1,ksize], sigma); %使用1行ksize列的高斯核对图像先进行x方向卷积,再进行y方向卷积

for i = 1:size(I,3)

ret = imfilter(I(:,:,i),window,'replicate');

ret = imfilter(ret,window','replicate');

output(:,:,i) = ret;

end

end下面是一般算法

function output=gaussFilter(I,sigma)

output = I.*0;

window=double(uint8(3*sigma)*2+1);%窗口大小一半为3*sigma

H=fspecial('gaussian', window, sigma);

for c=1:size(I,3)

output(:,:,c)=imfilter(I(:,:,c),H,'replicate');

end

end

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。