700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 图像算法三:【图像增强--空间域】图像平滑 中值滤波 图像锐化

图像算法三:【图像增强--空间域】图像平滑 中值滤波 图像锐化

时间:2020-02-02 03:34:25

相关推荐

图像算法三:【图像增强--空间域】图像平滑 中值滤波 图像锐化

空间域滤波:imfilter(),fspecial()

执行操作滤波需要注意边界问题,因此,给出了边界处理方法:

收缩处理范围使用常数填充图像使用复制像素的方法填充

h = fspecial( type , parameters);%fspecial()创建预定义的二维滤波器

g=imfilter( Img, w, option1,option2,...);%imfilter ()完成滤波操作

下面结合一些代表性的说明:fspecial()

(1)h = fspecial ('average', hsize);返回一个大小为hsize的平均模板滤波器h。hsize行和列默认为[3,3]。

(2)h = fspecial ('disk', radius);返回一个半径为radius的圆形平均模板。h为(2*radius+1)*(2*radius+1)的方阵,radius默认为5。

(3)h = fspecial ('gassuan', hsize, sigma);返回一个大小为hsize,标准差为sigma的高斯低通滤波器。hsize默认[3,3],sigma默认为0.5。

(4)h = fspecial ('sobel');返回一个加强水平边缘的竖直梯度算子:

h = [1 2 1

0 0 0

-1 -2 -1]

如果需要检测竖直边缘,使用H’。

g=imfilter( Img, w, option1,option2,...);%imfilter ()完成滤波操作

%w- 滤波操作使用的模板

%option1...模式选择:相关or卷积

%【相关‘corr’】、【卷积‘conv’

%举例:

>>Img=imread('C:\Users\1.jpg');>>w = [ 1 1 1;1 1 1;1 1 1 ]w= %滤波模板0.1111 0.1111 0.11110.1111 0.1111 0.11110.1111 0.1111 0.1111>>g = imfilter(Img, w, 'corr', 'replicate'); %相关滤波,重复填充边界 % 'corr' 模式选择:[相关]%'replicate' 填充虚拟边界,重复填充与他最接近的边缘像素>>figure,subplot(1,2,1);imshow(Img);title('原图');subplot(1,2,2);imshow(g);title('空间域滤波');

图像平滑:imfilter()、fspecial()

图像平滑是一种可以减少和抑制图像噪声的实用数字图像处理技术。

在空间域中一般可以采用领域平均来达到平滑的目的。

%举例:

%利用imfilter()和fspecial(),以不用尺寸的平均模板实现图像平滑,用MATLAB实现:

Img=imread('C:\Users\1.jpg');h = fspecial ('average', 32);% 32x32的平均模板Img_32 = imfilter(Img, h ,'corr', 'replicate'); %相关滤波,重复填充边界h = fspecial('average', 64);% 64x64的平均模板Img_64 = imfilter(Img, h, 'corr', 'replicate');figure,subplot(2,2,1),imshow(Img);title('原图');subplot(2,2,2),imshow(Img_32);title('32x32 平均模板');subplot(2,2,3),imshow(Img_64);title('64x64 平均模板');

高斯滤波:'gaussial'

(之后再填这个坑儿……)

中值滤波:medfilt2(Img, [m,n])

%中值滤波本质上是一种统计排序滤波器。对于原图像之后某点(i,j),

%中值滤波以该点位中心的邻域内所有像素的统计排序中值作为(i,j)点的响应。

%中值滤波具有非常理想的降噪能力,对于线性平滑滤波来看,

%在处理像素邻域之内包含噪声点时,噪声会影响像素值的计算。

对于高斯滤波来说,平滑影响程度和噪声点到中心点的距离成正比,但在中值滤波中,噪声点则常常被忽略。

%下面举例说明,一幅受椒盐噪声污染的图片,进行平均平滑、高斯平滑、中值滤波的处理效果。

Img = imread('xxx_salt.jpg');Img_salt= imnoise(Img, 'salt& pepper');%为图像叠加椒盐噪声w = [1 2 1;2 4 2;1 2 1] / 16;Img_gaussian = imfilter(Img_salt, w, 'corr', 'replicate'); %高斯平滑w = [1 1 1;1 1 1;1 1 1] / 9;Img_average = imfilter(Img_salt, w, 'corr', 'replicate'); %平均平滑Img_median = medfilt2(Img_salt, [3,3]);%中值滤波figure;subplot(2,3,1);imshow(Img);title('原图');subplot(2,3,2);imshow(Img_salt);title('椒盐噪声污染的图像');subplot(2,3,3);imshow(Img_gaussian);title('高斯平滑');subplot(2,3,4);imshow(Img_average);title('平均平滑');subplot(2,3,5);imshow(Img_median);title('中值滤波');

………………………………

运行结果……错误!!???

why?

究其原因,不过是待处理图像是彩图,也就是RGB的三维(3D)图像,medfilt2是处理二维图像的

处理办法:

无非是将RGB图像转为Gray;直接修改函数将medfilt2() 转换成 medfilt3();

即刻将上列代码修改这一行:

Img_median = medfilt3 (Img_salt, [ 3 , 3 , 3 ]);%中值滤波

运行成功!!!

噪声模型:imnoise(Img, type, parameters)

图像锐化:

图像锐化在处理中用的较少,下次用到的时候,再做补充吧。

可参考别人的文章:

空间域滤波:图像平滑和锐化

其他相关文章请点击:

图像算法一:【图像点运算】灰度直方图、伽马变换、灰度阈值变换、分段线性变换、直方图均衡化

图像算法二:【图像几何变换】平移、镜像、转置、缩放、旋转、插值

图像算法三:【图像增强--空间域】图像平滑、中值滤波、图像锐化

图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波

图像算法五:【图像小波变换】多分辨率重构、Gabor滤波器、Haar小波

图像算法六:【彩色图像处理】彩色模型、彩图处理

图像算法七:【形态学图像处理】二值运算、膨胀、腐蚀

图像算法八:【图像分割】边缘检测(Roberts,Sobel,canny)、霍夫变换(hough)、阈值分割、区域分割

图像算法九:【图像特征提取】特征降维、PCA人脸特征抽取、局部二进制

~~~~

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