南工大Matlab图像处理教程简易教程上机精要.ppt

南工大Matlab图像处理教程简易教程上机精要.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南工大Matlab图像处理教程简易教程上机精要.ppt

利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 I=imread(Saturn.png); subplot(221),imshow(I) title(原图像) J=imnoise(I,salt pepper,0.02); % 叠加椒盐噪声 subplot(222),imshow(J) title(含有噪声的图像) 利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 J=double(J); % 数据类型转换,MATLAB不支持图像的无符号整型的计算 f=fft2(J); % 傅立叶变换 g=fftshift(f); % 转换数据矩阵 [M,N]=size(f); n=2; d0=20; % 二阶巴特沃斯(Butterworth)低通滤波器 n1=floor(M/2); n2=floor(N/2); for i=1:M for j=1:N d=sqrt((i-n1)^2+(j-n2)^2); h=1/(1+0.414*(d/d0)^(2*n)); % 计算低通滤波器传递函数 g(i,j)=h*g(i,j); end end g=ifftshift(g); g=uint8(real(ifft2(g))); subplot(223),imshow(g) title(Butterworth滤波图像) % 显示滤波处理后的图像 利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 利用巴特沃斯(Butterworth)高通滤波器对图像进行锐化处理 I=imread(blood1.tif); imshow(I); f=double(I); % 数据类型转换,MATLAB不支持图像的无符号整型的计算 g=fft2(f); % 傅立叶变换 g=fftshift(g); % 转换数据矩阵 [M,N]=size(g); nn=2; % 二阶巴特沃斯(Butterworth)高通滤波器 d0=5; m=fix(M/2); n=fix(N/2); for i=1:M for j=1:N d=sqrt((i-m)^2+(j-n)^2); if (d==0) h=0; else h=1/(1+0.414*(d0/d)^(2*nn));% 计算传递函数 end result(i,j)=h*g(i,j); end end result=ifftshift(result); J2=ifft2(result); J3=uint8(real(J2)); figure,imshow(J3); % 滤波后图像显示 用Prewitt算子检测图像的边缘 I = imread(bacteria.BMP); BW1 = edge(I,prewitt,0.04); % 0.04为梯度阈值 figure(1); imshow(I); figure(2); imshow(BW1); 用不同σ值的LoG算子检测图像的边缘 I = imread(bacteria.BMP); BW1 = edge(I,log,0.003); % σ=2 imshow(BW1);title(σ=2) BW1 = edge(I,log,0.003,3); % σ=3 figure, imshow(BW1);title(σ=3) 用Canny算子检测图像的边缘 I = imread(bacteria.BMP); imshow(I); BW1 = edge(I,canny,0.2); figure,imshow(BW1); 图像的阈值分割 I=imread(blood1.tif); imhist(I); % 观察灰度直方图, 灰度140处有谷,确定阈值T=140 I1=im2bw(I,140/255); % im2bw函数需要将灰度值转换到[0,1]范围内 figure,imshow(I1); 对比度拉伸,a1,a2,a3时三段的斜率 r1=90;r2=200;a1=0;a2=0;a3=0; ga=247;gb=247; f=imread(old256.png); f=double(f); [x,y]=size(f); g=zeros(x,y); % g=uint(g);

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档