数字图像处理——实验ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14
实验五——参考答案
15
实验五——参考答案
• f=imread(‘strawberries_fullcolor.tif');
• [x1,map1]=rgb2ind(f,8,'nodither');
• figure,imshow(x1,map1);
• title('ind nodither');
i1=imfilter(i,w1,'replicate'); i2=imfilter(i,w2,'replicate'); figure,imshow(i1); title('rgb平滑'); figure,imshow(i2) title('rgbr锐化'); •(1)
• (1) h=rgb2hsi(i); H=h(:,:,1); S=h(:,:,2); I=h(:,:,3); h1=imfilter(h,w1,'replicate');%平滑全部三个分量 I2=imfilter(I,w1,'replicate');%仅平滑亮度分量 h2=cat(3,H,S,I2); hi1=hsi2rgb(h1); hi2=hsi2rgb(h2); hi1=min(hi1,1); hi2=min(hi2,1); figure,imshow(hi1); title('平滑全部三个分量') figure,imshow(hi2); title('仅平滑亮度分量')
title('频域滤波')
11
实验四
1. 使用imnoise2()生成右图, 理解各参数的作用。
12
实验四
2. 使用imnoise3()生成右图, 理解各参数的作用。
提示: 仔细阅读参考书《数字图像处理MATLAB 版》104-113页
13
实验五
• 1、使用 RGB、Indexed 和 Gray 图像间转换 函数对图像“strawberries_fullcolor.tif”使用 rgb2ind 分别产生 8 色抖动和非抖动图像; 使用 rgb2gray 实现图像转换,并使用函数 dither 产生其抖动形式的图像。
• ave1=fspecial('average',3); 的均值模版
%产生3×3
• ave2=fspecial('average',5); 的均值模版
%产生5×5
5
实验三
1、 利用 MATLAB 实现数字图像的傅里叶变换
读入并显示图test1.tif ,作该图的二维 FFT 变换 F,将其直流分量 移到频谱中心 F1(fftshift()函数),计算其实部 RR、虚部 II,用两 种方法计算幅值 A1=abs(F1)和 A2=sqrt(RR.^2+II.^2),分别显示 A1 和 A2,并加以比较。
• [x2,map1]=rgb2ind(f,8,'dither');
• figure,imshow(x2,map1);
• title('ind dither');
• g=rgb2gray(f);
• g1=dither(g);
16
• 2、彩色图像平滑与锐化 • 对图像“iris.tif ” 在 RGB 空 间 实 现 彩色图像的
10
实验三——参考答案
g=imread(test2.tif'); G=fft2(g); w=fspecial('gaussian',9,2); fi1=imfilter(g,w); W=freqz2(w,256,256); W1=ifftshift(W); Ff=G.*W1; fi2=real(ifft2(Ff));
• g=cat(3,r,g,b);
%按指定维数串联阵列
• [M,N,K]=size(g);
%得到阵列维数
• b=reshape(g,M*N,3);
• idx=find(mask);
%查找非零元素的索引和值
• b=double(b(idx,1:3));
• [C,d]=covmatrix(b);
• aa1=colorseg('euclidean',a,25,d);
• a=imread('woman_baby_original.tif');
• mask=roipoly(a);
% 指定多边形的感兴趣区(ROI)
• r=immultiply(mask,a(:,:,1)); % 两幅图像相乘
• g=immultiply(mask,a(:,:,2));
• b=immultiply(mask,a(:,:,3));
• g=imread('point.jpg');
• h=log(1+double(g));
%对输入图像对数映4射
实验二——参考答案
• I=imread('electric.tif');
• J = imnoise(I,'gauss',0.02); 噪声
%添加高斯
• J = imnoise(I,'salt & pepper',0.02); (注意空格) %添加椒盐噪声
%显示其直方图
• g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明 暗转换(负片图像)
• figure,imshow(g1)
• %将0.5到0.75的灰度级扩展到范围[0 1]
• g2=imadjust(f,[0.5 0.75],[0 1]);
• figure,imshow(g2)
9
实验三
3、空间滤波与频域滤波
将图 test2.tif 分别进行空间与频域滤波。
test2.tif
空间滤波:
用 fspecial 产生 9*9,标准差为 2 的高斯滤波器 w,用函数 imfilter 对 f 进行空 间滤波,得到滤波后的图像 fi1。
频域滤波:
将上述高斯滤波器 w 用函数 freqz2 获得其256*256 频域形式 W,用 W 在频域 滤波图像 f(注意 W 的直流分量在频谱中心),得到 Ff,求其傅里叶逆变换 (ifft2),得到滤波后的图像 fi2。用函数 imshow 显示 w,用函数 mesh 显示 W,用 mshow 显示 f,fi1,Ff 的模的对数,fi2。比 较 fi1 与 fi2。
• aa2=colorseg('mahalanobis',a,25,d);
• figure,imshow(aa1,[]);
• figure,imshow(aa2,[]);
21
19
• 3、彩色图像分割 • 用 colorseg 函 数 实 现 基 于 肤 色 的 人
脸 分 割 。 对 图 像“woman_baby_original.tif” 在 HSI 空间,用函数 colorseg 分别用参数 “euclidean”和“mahalanobis”实现人脸分割。
20
实验五——参考答案
• 空间滤波
1. 给定图像添加噪声(高斯噪声和椒盐噪声)(imnoise) 2. 使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒
盐噪声,进行滤波处理(fspecial, filter2, medfilt2)
3
实验二——参考答案
• f=imread('medicine_pic.jpg');
• g=imhist(f,256);
17
实验五——参考答案
RGB HSI
18
实验五——参考答案
i=imread(‘iris.tif '); figure,imshow(i); w1=ones(25)./(25*25); w2=[1 1 1 1 1;1 1 1 1 1;
1 1 -24 1 1;1 1 1 1 1; 1 1 1 1 1];
数字图像处理——实验
1
实验一、计算图象统计参数
在matlab软件编写程序: 读取图像(文件名为‘cameraman.tif’); 最大值 最小值 均值 直方图(要求不能调用imhist函数,只能用该函数来
验证自编直方图程序块的正确ห้องสมุดไป่ตู้)。
2
实验二
• 灰度和直方图变换
1. 图像数据读出 2. 计算并分析图像直方图(imhist) 3. 利用直接灰度变换法对图像进行灰度变换(imadjust) 4. 直方图均衡化处理及显示(histeq)
test1.tif
6
实验三——参考答案
i=imread(‘test1.tif'); figure,imshow(i); title(‘test1.tif'); f=fft2(i); f1=fftshift(f); rr=real(f1); ii=imag(f1); a1=abs(f1); a2=sqrt(rr.^2+ii^2); aa1=log(1+a1); aa2=log(1+a2); figure,imshow(aa1,[]); title('a1 abs'); figure,imshow(aa2,[]); title('a2 sqrt');
figure,imshow(w);
title('w');
figure,mesh(W);
title('W');
figure,imshow(g);
title(‘test2.tif(g)');
figure,imshow(fi1,[]);
title('空间滤波');
figure,imshow(fi2,[]);
平滑 ( w=ones(25)./(25*25))与锐化(w= [1 1 1 1 1; 1 1 1 1 1; 1 1 -24 1 1 ; 1 1 1 1 1; 1 1 1 1 1];) (函数 imfilter); • 在 HSI 空间实现彩色图像的平滑(w=ones (25)./(25*25)),(函数 imfilter, rgb2hsi, cat), 观察仅平滑亮度分量(intensity)和平滑全部三个 分量结果的差 别。
7
实验三
2、近似冲击函数二维傅里叶变换
A=zeros(99,99); A(49:51,49:51)=1; 作 A 的二维傅里叶变换 B,将 B 直流分量移到频谱中心 B1,分别 用函数 imshow 和 mesh 显示A 和 B1 模的对数(log(1+abs(B1)))
8
实验三——参考答案
A=zeros(99,99); A(49:51,49:51)=1; B=fft2(A); B1=fftshift(B); figure,imshow(A); title('冲击函数imsow'); figure,mesh(A); title('冲击函数mesh'); figure,imshow(log(1+abs(B1))); title('冲击函数频域模mesh'); figure,mesh(log(1+abs(B1))) title('冲击函数频域模mesh');
相关文档
最新文档