Matlab图像处理函数汇总

来源:互联网 发布:淘宝店铺导航栏 编辑:程序博客网 时间:2024/04/26 17:57

1、图像的变换

fft2:fft2函数用于数字图像的二维傅立叶变换,如:

i=imread('104_8.tif');

j=fft2(i);

ifft2::ifft2函数用于数字图像的二维傅立叶反变换,如:

 i=imread('104_8.tif');

 j=fft2(i);

k=ifft2(j);

2、模拟噪声生成函数和预定义滤波器

imnoise:用于对图像生成模拟噪声,如:

 i=imread('104_8.tif');

       j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声

fspecial:用于产生预定义滤波器,如:

h=fspecial('sobel');%sobel水平边缘增强滤波器

h=fspecial('gaussian');%高斯低通滤波器

h=fspecial('laplacian');%拉普拉斯滤波器

h=fspecial('log');%高斯拉普拉斯(LoG)滤波器

h=fspecial('average');%均值滤波器

2、图像的增强

直方图:imhist函数用于数字图像的直方图显示,如:

i=imread('104_8.tif');

imhist(i);

直方图均化:histeq函数用于数字图像的直方图均化,如:

i=imread('104_8.tif');

j=histeq(i);

对比度调整:imadjust函数用于数字图像的对比度调整,如:      i=imread('104_8.tif');

              j=imadjust(i,[0.3,0.7],[]);

对数变换:log函数用于数字图像的对数变换,如:

i=imread('104_8.tif');

j=double(i);

k=log(j);

基于卷积的图像滤波函数:filter2函数用于图像滤波,如:                                     i=imread('104_8.tif');

h=[1,2,1;0,0,0;-1,-2,-1];

j=filter2(h,i);

线性滤波:利用二维卷积conv2滤波, 如:

i=imread('104_8.tif');

h=[1,1,1;1,1,1;1,1,1];

h=h/9;

j=conv2(i,h);

中值滤波:medfilt2函数用于图像的中值滤波,如:

i=imread('104_8.tif');

j=medfilt2(i);

⑧锐化

     A、利用Sobel算子锐化图像, 如:

i=imread('104_8.tif');

h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子

j=filter2(h,i);

     B、利用拉氏算子锐化图像, 如:

i=imread('104_8.tif');

j=double(i);

h=[0,1,0;1,-4,0;0,1,0];%拉氏算子

k=conv2(j,h,'same');

m=j-k;

3、图像边缘检测

sobel算子 如:

i=imread('104_8.tif');

j = edge(i,'sobel',thresh)

prewitt算子 如:

j = edge(i,'prewitt',thresh)

roberts算子 如:

j = edge(i,'roberts',thresh)

log算子 如:

j = edge(i,'log',thresh)

canny算子 如:

j = edge(i,'canny',thresh)

Zero-Cross算子 如:

j = edge(i,'zerocross',thresh)

4、形态学图像处理

膨胀:是在二值化图像中“加长”或“变粗”的操作,函数imdilate执行膨胀运算,如:

a=imread('104_7.tif'); %输入二值图像

b=[0 1 0;1 1 1;0 1 0];

c=imdilate(a,b);

腐蚀:函数imerode执行腐蚀,如:

a=imread('104_7.tif'); %输入二值图像

 b=strel('disk',1);

c=imerode(a,b);

开运算:先腐蚀后膨胀称为开运算,用imopen来实现,如:

b=strel('square',2);

c=imopen(a,b);

闭运算:先膨胀后腐蚀称为闭运算,用imclose来实现,如:

b=strel('square',2);

c=imclose(a,b);

 

0 0
原创粉丝点击