1、数字图像处理MATLAB程序实验大纲实验一 图像的点运算实验1.1 直方图一实验目的1熟悉matlab图像处理工具箱及直方图函数的使用;2理解和掌握直方图原理和方法;二实验设备1.PC机一台;2.软件matlab。三程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。I=imread(cameraman.tif。%读取图像subplot(1,2,1,imshow(I %输出图像title(原始图像 %在原始图像中加标题subplot(1,2,2,imhist(I %输出原图直方图title(原始图像直方图 %在原图直方图上加标题四实验步骤1.
2、启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;b5E2RGbCAP3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察图像matlab环境下的直方图分布。(a原始图像 (b原始图像直方图六实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。实验1.2直方图均衡化一实验目的1熟悉matlab图像处理工具箱中
3、直方图均衡化函数的使用;2理解和掌握直方图均衡化原理和实现方法;二实验设备1.PC机一台;2.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。I=imread(cameraman.tif。%读取图像subplot(2,2,1,imshow(I %输出图像title(原始图像 %在原始图像中加标题subplot(2,2,3,imhist(I %输出原图直方图title(原始图像直方图 %在原图直方图上加标题a=histeq(I,256。 %直方图均衡化,灰度级为256subplot(2,2,2,imshow(a %输出均
4、衡化后图像title(均衡化后图像 %在均衡化后图像中加标题subplot(2,2,4,imhist(a %输出均衡化后直方图title(均衡化后图像直方图 %在均衡化后直方图上加标题四实验步骤1. 启动matlab:双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像;p1EanqFDPw3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察matlab环境下图像灰度均衡结果及直方图分布。(
5、a原始图像 (b均衡化后图像(c原始图像直方图 (d均衡化后图像直方图实验二 图像滤波实验2.1 3*3均值滤波一实验目的1熟悉matlab图像处理工具箱及均值滤波函数的使用;2理解和掌握3*3均值滤波的方法和应用;二实验设备1.PC机一台;2.软件matlab;三程序设计 在matlab环境中,程序首先读取图像,然后调用图像增强。figure,imshow(I。J=filter2(fspecial(average,3,I/255。figure,imshow(J。四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时
6、,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像增强原始图像(b3*3均值滤波处理后的图像图(3实验2.23*3中值滤波一实验目的1熟悉matlab图像处理工具箱及中值滤波函数的使用;2理解和掌握中值滤波的方法和应用;二实验设备1.PC机一台;2.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用图像增强。figure,imshow(I。J=medfilt2(I,5,5。figure,imshow(J。四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书
7、写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像增强原始图像 (b3*3中值滤波处理后的图像图(4实验三 图像几何变换实验3.1 图像的缩放一实验目的1熟悉matlab图像处理工具箱及图像缩放函数的使用;2掌握图像缩放的方法和应用;二实验设备1.PC机一台;2.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。I = imread(cameraman.tif。figure,imshow(I。scale = 0.5。J = imresize(I,scale。figure,
8、imshow(J。四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像缩放函数,设置参数;最后输出处理后的图像;xHAQX74J0X3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察matlab环境下图像缩放后的结果。(a原始图像 (b缩放后的图像图(5实验3.2 图像旋转一实验目的1熟悉matlab图像处理工具箱及图像旋转函数的使用;2理解和掌握图像旋转的方法和应用;二实验设备1.PC机一台;2
9、.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用图像旋转函数,设置相关参数,再输出处理后的图像。I = imread(cameraman.tif。figure,imshow(I。theta = 30。K = imrotate(I,theta。 % Try varying the angle, theta.LDAYtRyKfEfigure, imshow(K四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调
10、用相应的图像旋转函数,设置参数;最后输出处理后的图像;Zzz6ZB2Ltk3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察matlab环境下图像旋转后的结果。(a原始图像 (b旋转后的图像图(7实验四 图像边缘检测实验4.1 边缘检测Sobel、Prewitt、Log边缘算子)一实验目的1熟悉matlab图像处理工具箱及图像边缘检测函数的使用;2理解和掌握图像边缘检测Sobel、Prewitt、Log边缘算子)的方法和应用;二实验设备1.PC机一台;2.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用图像边缘检测。J1=edge(I,s
11、obel。J2=edge(I,prewitt。J3=edge(I,log。subplot(1,4,1,imshow(I。subplot(1,4,2,imshow(J1。subplot(1,4,3,imshow(J2。subplot(1,4,4,imshow(J3。四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的边缘检测Sobel边缘算子、Prewitt边缘算子、Log边缘算子)函数,设置参数;最后输出处理后的图像;rqyn1
12、4ZNXI3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察经过图像边缘检测原始图像 (bSobel边缘算子(cPrewitt边缘算子 (dLog边缘算子图(7六实验报告要求输入一幅灰度图像,给出其图像边缘检测。 %读入原图像文件I2=imread(cell.tif。 %读入原图像文件I3=imread(cameraman.tif。 %读入原图像文件subplot(3,2,1。imshow(I1。 %显示原图像fftI1=fft2(I1。 %二维离散傅立叶变换sfftI1=fftshift(fftI1。 %直流分量移到频谱中心RR1=real(sfftI1。 %取傅
13、立叶变换的实部II1=imag(sfftI1。 %取傅立叶变换的虚部A1=sqrt(RR1.2+II1.2。 %计算频谱幅值A1=(A1-min(min(A1/(max(max(A1-min(min(A1*225。%归一化SixE2yXPq5subplot(3,2,2。imshow(A1。 %显示原图像的频谱subplot(3,2,3。imshow(I2。 %显示原图像fftI2=fft2(I2。 %二维离散傅立叶变换sfftI2=fftshift(fftI2。 %直流分量移到频谱中心RR2=real(sfftI2。 %取傅立叶变换的实部II2=imag(sfftI2。 %取傅立叶变换的虚部A
14、2=sqrt(RR2.2+II2.2。 %计算频谱幅值A2=(A2-min(min(A2/(max(max(A2-min(min(A2*225。%归一化6ewMyirQFLsubplot(3,2,4。imshow(A2。 %显示原图像的频谱subplot(3,2,5。imshow(I3。 %显示原图像fftI3=fft2(I3。 %二维离散傅立叶变换sfftI3=fftshift(fftI3。 %直流分量移到频谱中心RR3=real(sfftI3。 %取傅立叶变换的实部II3=imag(sfftI3。 %取傅立叶变换的虚部A3=sqrt(RR3.2+II3.2。 %计算频谱幅值A3=(A3-m
15、in(min(A3/(max(max(A3-min(min(A3*225。%归一化kavU42VRUssubplot(3,2,6。imshow(A3。 %显示原图像的频谱实验六 图像分割%直方图双峰法分割I1=imread(cell.tif。 %读入原图像文件subplot(2,3,1。imshow(I1。 %显示原图像subplot(2,3,2,imhist(I1。level=graythresh(I1。I2=im2bw(I1,level。subplot(2,3,3,imshow(I2。%边界检测法分割I3=imread(cell.tif。 %读入原图像文件subplot(2,3,4。ims
16、how(I3。 %显示原图像I4=edge(I3,sobel。B,L=bwboundaries(I4,noholes。subplot(2,3,5,imshow(-im2bw(L。hold onfor k=1:length(B boundary=Bk。 plot(boundary(:,2,boundary(:,1,w,linewidth,2。y6v3ALoS89end实验七 图像退化复原%图像复原实验。%I=rgb2gray(I。J1=imnoise(I,gaussian,0,0.02。J2=imnoise(I,salt & pepper,0.02。subplot(2,5,1,imshow(I。
17、title(original image。subplot(2,5,2,imshow(J1。title(gaussian nosied image。subplot(2,5,7,imshow(J2。title(salt nosied image。K1=wiener2(J1,3 3。 。%gaussian noiseK2=wiener2(J1,5 5。 K3=wiener2(J1,9 9。 subplot(2,5,3,imshow(K1。title(wiener3*3 image。subplot(2,5,4,imshow(K2。title(wiener5*5 image。subplot(2,5,5,
18、imshow(K3。title(wiener9*9 image。K4=wiener2(J2,3 3。%salt pepper noiseK5=wiener2(J2,5 5。K6=wiener2(J2,9 9。 subplot(2,5,8,imshow(K4。title(wiener3*3 image。subplot(2,5,9,imshow(K5。title(wiener5*5 image。subplot(2,5,10,imshow(K6。title(wiener9*9 image。实验八 图像代数运算图像代数(加与减运算:I=imread(lena.jpg。J=rgb2gray(I。K=histeq(J,256。subplot(2,2,1,imshow(J。 title(原始图像Jsubplot(2,2,2,imshow(K。 title(直方图均衡化图像KG=double(J-double(K。M2ub6vSTnPsubplot(2,2,3,imshow(uint8(G;title(J-KH=double(K+double(J。subplot(2,2,4,imshow(uint8(H。 title(J+K申明:所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1