养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

matlab图像空域滤波增强

时间:2024-09-25 22:15:31

在实际工程中,经常会对一些图像进行处理,以使得图像呈现更好的视觉效果,图像增强处理技术是图像处理领域中非常重要的一项技术,对图像进行适当增强,可以去除图像中的干扰,噪声等因素,使图像特征更加突出明显。使用空域模版进行图像处理,称为图像的空域滤波增强,空域滤波器分为平滑滤波器,中值滤波器,自适应滤波器和锐化滤波器,本节主要对这些滤波器在matlab中调用和使用进行介绍:

工具/原料

空域滤波

matlab

方法/步骤

1、Matlab软件中对图像进行空域滤波对应的函数主要有以下几种函数J=imnoise(I,type,parameters);其中,I表示原始图像,type表示噪声类型,parameters噪声类型对应的参数h=fspecial(type,para);J=filter2(h,I);其中,I表示原始图像,J表示输出图像,fspecial函数用于对图像进行平滑滤波,type表示算子类型,para对应的参数J=medfilt2(A,[m,n]);其中,m,n默认值为3的情况下执行中值滤波,每个输出像素为m行n列邻域的均值J=wiener2(I,[MN],noise);wiener2函数用于对图像进行自适应滤波,表示使用M×N大小领域局部图像均值与偏差,采用像素式自适应滤波器对图像进行滤波

2、imnoise函数用与给一副图片添加不同类型的噪声示例:对图像添加高斯噪声编写对应的m文件如下:clearall;I=imread('coins.png');J=imnoise(I,'gaussian',0,0.005);subplot(1,2,1)imshow(I);title('原始图像')subplot(1,2,2)imshow(J);title('加入高斯噪声后图像');程序运行结果如下图:

matlab图像空域滤波增强

3、平滑滤波器的输出响应是包含在滤波模版领域内像素的简单平均值,因此这些滤波骰蓍溶芽器也称为均值滤波器,均值滤波主要用于减噪,去除图像中不相关的部分。示例:对图像添加高斯噪声,然后进行平滑滤莆奶通氰波编写对应的m文件如下:clearall;I=imread('coins.png');J=imnoise(I,'gaussian',0,0.005);subplot(1,3,1)imshow(I);title('原始图像')subplot(1,3,2)imshow(J);title('加入高斯噪声后图像');J2=filter2(fspecial('average',5),J)/255;subplot(1,3,3)imshow(J2,[]);title('平滑滤波后图像');程序运行结果如下图:

matlab图像空域滤波增强

4、中值滤波器是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术示例:对图像添加噪声,利用中值滤波器对其进行滤波编写对应的m文件如下:clearall;I=imread('cameraman.tif');J=imnoise(I,'gaussian',0,0.005);subplot(1,3,1)imshow(I);title('原始图像')subplot(1,3,2)imshow(J);title('加入高斯噪声后图像');J1=medfilt2(J);subplot(1,3,3)imshow(J1,[]);title('中值滤波后图像');程序运行结果如下图:

matlab图像空域滤波增强

5、自适应滤波器:根据环境的改变,使用自适应算法来改变滤波器的参数和结构示例:对图像添加噪声,用自适应滤波器对图像进行滤波编写对应的m文件如下:clearall;I=imread('peppers.png');I=rgb2gray(I);J=imnoise(I,'gaussian',0,0.005);subplot(1,3,1)imshow(I);title('原始图像')subplot(1,3,2)imshow(J);title('加入高斯噪声后图像');J1=wiener2(J,[5,5]);subplot(1,3,3)imshow(J1,[]);title('自适应滤波后图像');程序运行结果如下图:

matlab图像空域滤波增强

6、锐斟闽擞呦化滤波器:图像锐化有两个目的,一是为了增强图像的边缘,使模糊的图像变得清晰,二是提取目标的边界,便于对图像进若益肽屙行分割,对目标区域进行识别,常用的锐化滤波器算子有Sobel算子,prewitt算子,LOG算子示例:利用线性滤波器对图像进行锐化处理编写对应的m文件如下:clearall;I=imread('cameraman.tif');subplot(2,2,1)imshow(I);title('原始图像')J=filter2(fspecial('sobel'),I)subplot(2,2,2)imshow(J);title('sobel算子锐化滤波图像');J1=filter2(fspecial('prewitt'),I)subplot(2,2,3)imshow(J);title('prewitt算子锐化滤波图像');J2=filter2(fspecial('log'),I)subplot(2,2,4)imshow(J2);title('log算子锐化滤波图像');程序运行结果如下图:

matlab图像空域滤波增强

© 一点知识