数字图像处理实验

合集下载

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

数字图像处理——实验ppt课件
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
实验四

数字图像处理 实验(修改版)

数字图像处理 实验(修改版)

1. 读入bmp格式的灰度图像和彩色图像(见本目录下的Lena_g.bmp和Lena_c.bmp图像),在屏幕上显示,然后以新文件名保存。

2. 向灰度图像(Lena_g.bmp)叠加椒盐噪声,显示原图像和加噪后的图像。

3. 对叠加了椒盐噪声的Lena灰度图像,运用3*3的模板进行平均滤波和中值滤波,显示原图像、加噪图像和两种滤波结果图像。

4. 读入Lena灰度图像(如图1所示),对Lena图像进行直方图均衡化,显示原图像和均衡化后的图像5. 图2所示图像 f1(m,n)的大小为256×256,中间亮条为128×32,暗处=0,亮处=100。

对其进行离散傅里叶变换(DFT):①显示原图f1(m,n)和f1的频谱幅值图;②若将f1(m,n)顺时针旋转90 度得到f2(m,n),试显示f2的频谱幅值图,并与f1的频谱幅值图进行比较;③令f3(m,n)=f1(m,n)+f2(m,n),显示f3的频谱幅值图,并与f1 f2的频谱幅值图进行比较(要求:离散傅里叶变换函数可以根据教材的公式自己实现,速度慢点没关系。

也可以使用网上的快速傅里叶变换(FFT)的源码,来进行这三个步骤。

)图1 Lena图像图2说明:一共12个学时的实验。

写5个实验报告,每题1个。

内容包括:实验目的、实验要求、实验内容(算法、流程图、操作步骤、关键说明等)、实验结果、实验分析、心得体会。

源程序统一刻盘交给我,不用打印出来。

使用C++语言实现。

可以参考网上开源代码,但为了加深大家对算法的理解,尽量自己实现。

图1和图2分别对应图像文件lena.jpg 1.jpg,在本目录中有。

如果全部自己实现,工作量比较大,可以三人一个小组分工完成,但是每人还是要交5个实验报告。

图形用户界面可以用最简单的基于对话框的形式。

《数字图像处理》实验教案

《数字图像处理》实验教案

《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1)理解数字图像处理的基本概念和原理;(2)掌握常用数字图像处理算法和技巧;(3)培养实际操作能力和动手能力,提高解决实际问题的能力。

2. 实验要求(1)熟悉实验环境和相关软件;(2)了解实验原理和流程;二、实验环境与工具1. 实验环境(1)计算机操作系统:Windows 10/Linux/macOS;(2)编程语言:MATLAB/Python/C++等;(3)图像处理软件:Photoshop/OpenCV等。

2. 实验工具(1)编程环境:MATLAB/Python/C++开发工具;(2)图像处理软件:Photoshop/OpenCV;(3)实验教材和参考资料。

三、实验内容与步骤1. 实验一:图像读取与显示(1)打开图像处理软件,导入一幅图像;(2)了解图像的基本信息,如像素大小、分辨率等;(3)将图像显示在界面上,进行观察和分析。

2. 实验二:图像基本运算(1)对图像进行灰度化处理;(2)进行图像的直方图均衡化;(3)实现图像的滤波处理,如高斯滤波、中值滤波等。

3. 实验三:边缘检测(1)实现Sobel边缘检测算法;(2)实现Canny边缘检测算法;(3)分析不同边缘检测算法的效果和特点。

4. 实验四:图像分割(1)利用阈值分割法对图像进行分割;(2)利用区域生长法对图像进行分割;(3)分析不同图像分割算法的效果和特点。

5. 实验五:特征提取与匹配(1)提取图像的关键点,如角点、边缘点等;(2)利用特征匹配算法,如SIFT、SURF等,进行图像配准;(3)分析不同特征提取与匹配算法的效果和特点。

四、实验注意事项1. 严格遵循实验要求和步骤,确保实验的正确性;2. 注意实验环境和工具的使用,防止计算机和设备的损坏;3. 尊重知识产权,不得抄袭和剽窃他人成果;4. 实验过程中遇到问题,应及时请教老师和同学。

五、实验报告要求1. 报告内容:实验目的、实验环境、实验内容、实验步骤、实验结果及分析;2. 报告格式:文字描述清晰,条理分明,公式和图像正确无误;3. 报告篇幅:不少于2000字;4. 提交时间:实验结束后一周内。

《数字图像处理》实验教案

《数字图像处理》实验教案

《数字图像处理》实验教案一、实验目的1. 使学生了解和掌握数字图像处理的基本概念和基本算法。

2. 培养学生运用数字图像处理技术解决实际问题的能力。

3. 提高学生使用相关软件工具进行数字图像处理操作的技能。

二、实验内容1. 图像读取与显示:学习如何使用相关软件工具读取和显示数字图像。

2. 图像基本操作:学习图像的旋转、缩放、翻转等基本操作。

3. 图像滤波:学习使用不同类型的滤波器进行图像去噪和增强。

4. 图像分割:学习利用阈值分割、区域增长等方法对图像进行分割。

5. 图像特征提取:学习提取图像的边缘、角点等特征信息。

三、实验环境1. 操作系统:Windows或Linux。

2. 编程语言:Python或MATLAB。

3. 图像处理软件:OpenCV、ImageJ或MATLAB。

四、实验步骤1. 打开相关软件工具,导入图像。

2. 学习并实践图像的基本操作,如旋转、缩放、翻转等。

3. 学习并实践图像滤波算法,如均值滤波、中值滤波等。

4. 学习并实践图像分割算法,如全局阈值分割、局部阈值分割等。

5. 学习并实践图像特征提取算法,如Canny边缘检测算法等。

五、实验要求1. 每位学生需独立完成实验,并在实验报告中详细描述实验过程和结果。

2. 实验报告需包括实验目的、实验内容、实验步骤、实验结果和实验总结。

3. 实验结果要求清晰显示每个步骤的操作和效果。

4. 实验总结部分需对本次实验的学习内容进行归纳和总结,并提出改进意见。

六、实验注意事项1. 实验前请确保掌握相关软件工具的基本使用方法。

3. 在进行图像操作时,请尽量使用向量或数组进行处理,避免使用低效的循环结构。

4. 实验过程中如需保存中间结果,请使用合适的文件格式,如PNG、JPG等。

5. 请合理安排实验时间,确保实验报告的质量和按时提交。

七、实验评价1. 实验报告的评价:评价学生的实验报告内容是否完整、实验结果是否清晰、实验总结是否到位。

2. 实验操作的评价:评价学生在实验过程中对图像处理算法的理解和运用能力。

数字图像处理实验

数字图像处理实验

数字图像处理实验实验总学时:10学时实验目的:本实验的目的是通过实验进一步理解和掌握数字图像处理原理和方法。

通过分析、实现现有的图像处理算法,学习和掌握常用的图像处理技术。

实验内容:数字图像处理的实验内容主要有三个方面:(1) 对图像灰度作某种变换,增强其中的有用信息,抑制无用信息,使图像的视在质量提高,以便于人眼观察、理解或用计算机对其作进一步的处理。

(2) 用某种特殊手段提取、描述和分析图像中所包含的某些特征和特殊的信息,主要的目的是便于计算机对图像作进一步的分析和理解,经常作为模式识别和计算机视觉的预处理。

这些特征包括很多方面,例如,图像的频域特性、灰度特征、边界特征等。

(3) 图像的变换,以便于图像的频域处理。

实验一图像的点处理实验内容及实验原理:1、灰度的线性变换灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换。

该线性灰度变换函数是一个一维线性函数:灰度变换方程为:其中参数为线性函数的斜率,函数的在y轴的截距,表示输入图像的灰度,表示输出图像的灰度。

要求:输入一幅图像,根据输入的斜率和截距进行线性变换,并显示。

2、灰度拉伸灰度拉伸和灰度线性变换相似。

不同之处在于它是分段线性变换。

表达如下:其中,(x1,y1)和(x2,y2)是分段函数的转折点。

要求:输入一幅图像,根据选择的转折点,进行灰度拉伸,显示变换后的图像。

3、灰度直方图灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(象素的个数)。

要求:输入一幅图像,显示它的灰度直方图,可以根据输入的参数(上限、下限)显示特定范围的灰度直方图。

4、直方图均衡:要求1 显示一幅图像pout.bmp的直方图;2 用直方图均衡对图像pout.bmp进行增强;3 显示增强后的图像。

实验二:数字图像的平滑实验内容及实验原理:1.用均值滤波器(即邻域平均法)去除图像中的噪声;2.用中值滤波器去除图像中的噪声3. 比较两种方法的处理结果 实验步骤:用原始图象lena.bmp 或cameraman.bmp 加产生的3%椒盐噪声图象合成一幅有噪声的图象并显示;1. 用均值滤波器去除图像中的噪声(选3x3窗口);2. f (x 0,y 0)=Med {f (x,y )∨x ∈[x 0−N,x 0+N ],y ∈[y 0−N,y 0+N ]}用中值滤波器去除图像中的噪声(选3x3窗口做中值滤波);3. 将两种处理方法的结果与原图比较,注意两种处理方法对边缘的影响。

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)实验⼀ Matlab图像⼯具的使⽤1、读图I=imread('lena.jpg');imshow(I);2、读⼊⼀幅RGB图像,变换为灰度图像和⼆值图像,并在同⼀个窗⼝内分成三个⼦窗⼝来分别显⽰RGB图像和灰度图像。

a=imread('lena.jpg')i = rgb2gray(a)I = im2bw(a,0.5)subplot(3,1,1);imshow(a);subplot(3,1,2);imshow(i);subplot(3,1,3);imshow(I);原图像灰度图像⼆值图像实验⼆图像变换1、对⼀幅图像进⾏平移,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与平移后傅⾥叶频谱的对应关系。

s=imread('beauty.jpg');i=rgb2gray(s)i=double(i)j=fft2(i);k=fftshift(j); 原图像原图的傅⾥叶频谱l=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b)b=double(b) 平移后的图像平移后的傅⾥叶频谱c=fft2(b);e=fftshift(c);l=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);subplot(2,2,2);imshow(uint8(b));subplot(2,2,3);imshow(A);subplot(2,2,4);imshow(B);2、对⼀幅图像进⾏旋转,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与旋转后傅⾥叶频谱的对应关系。

《数字图像处理》实验教案

《数字图像处理》实验教案

一、实验目的与要求1. 目的通过本实验,使学生了解数字图像处理的基本概念、方法和算法,掌握MATLAB 软件在图像处理方面的应用,提高学生分析问题和解决问题的能力。

2. 要求(1)熟悉MATLAB软件的基本操作。

(2)了解数字图像处理的基本概念和常用算法。

(3)能够运用MATLAB实现图像处理的基本操作和算法。

二、实验内容与步骤1. 实验内容(1)图像读取与显示。

(2)图像的基本运算(如加、减、乘、除等)。

(3)图像的滤波处理。

(4)图像的边缘检测。

(5)图像的分割与标记。

2. 实验步骤(1)打开MATLAB软件,新建一个脚本文件。

(2)导入所需图像,使用imread()函数读取图像,使用imshow()函数显示图像。

(3)进行图像的基本运算,如加、减、乘、除等,使用imadd()、imsub()、imdiv()、imconcat()等函数。

(4)对图像进行滤波处理,如使用均值滤波、中值滤波等,使用imfilter()函数。

(5)进行图像的边缘检测,如使用Sobel算子、Canny算子等,使用edge()函数。

(6)对图像进行分割与标记,如使用区域生长、阈值分割等方法,使用watershed()函数。

(7)对实验结果进行分析和讨论,总结实验心得。

三、实验注意事项1. 严格遵循实验步骤,确保实验的正确进行。

2. 合理选择参数,如滤波器的尺寸、阈值等。

3. 注意图像数据类型的转换,如浮点型、整型等。

4. 保持实验环境的整洁,避免误操作。

四、实验评价1. 评价内容(1)实验步骤的完整性。

(2)实验结果的正确性。

2. 评价标准(1)实验步骤完整,得分20分。

(2)实验结果正确,得分30分。

总分100分。

五、实验拓展1. 研究不同滤波器对图像滤波效果的影响。

2. 尝试使用其他图像分割算法,如基于梯度的分割方法、聚类分割方法等。

3. 探索图像处理在其他领域的应用,如计算机视觉、医学影像处理等。

六、实验一:图像读取与显示1. 实验目的掌握MATLAB中图像的读取和显示方法,熟悉图像处理的基本界面。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告目录1.数字图像处理简介2.实验目的3.实验内容4.实验结果及代码展示5.算法综述6.M atlab优势7.总结8.存在问题一、数字图像处理简介图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。

图像处理是信号处理在图像域上的一个应用。

目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。

此外,基于光学理论的处理方法依然占有重要的地位。

图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。

传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。

然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。

二、实验目的巩固所学知识,提高所学能力三、实验内容利用matlab的GUI程序设计一个简单的图像处理程序,并含有如下基本功能:1. 读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题2. 对给定图像进行旋转3.对给定的图像添加噪声(椒盐噪声、高斯噪声)四、实验结果及代码展示1.软件设计界面2.各模块功能展示以及程序代码(1)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题效果展示:代码:a = imread('C:\Documents and Settings\Administrator\桌面\数字图像\舞美.JPG');i = rgb2gray(a);I = im2bw(a,0.5);subplot(3,1,1);imshow(a);title('源图像')subplot(3,1,2);imshow(i);title('灰度图像')subplot(3,1,3);imshow(I);title('二值图像')(2)图像旋转原图效果展示:代码:clc;clear all;close all;Img=imread('D:\My Documents\My Pictures\5.JPG'); Img=double(Img);[h w]=size(Img);alpha=pi/4;wnew=w*cos(alpha)+h*sin(alpha);hnew=w*sin(alpha)+h*cos(alpha);wnew=ceil(wnew);hnew=ceil(hnew); u0=w*sin(alpha);T=[cos(alpha),sin(alpha);-sin(alpha),cos(alpha)]; Imgnew2=zeros(hnew,wnew);Imgnew1=zeros(hnew,wnew); for u=1:hnewfor v=1:wnewtem=T*([u;v]-[u0;0]);x=tem(1);y=tem(2);if x>=1&&x<=h&&y>=1&&y<=wx_low=floor(x);x_up=ceil(x);y_low=floor(y);y_up=ceil(y);if (x-x_low)<=(x_up-x)x=x_low;elsex=x_up;endif (y-y_low)<=(y_up-y)y=y_low;elsey=y_up;endp1=Img(x_low,y_low);p2=Img(x_up,y_low);p3=Img(x_low,y_low);p4=Img(x_up,y_up);s=x-x_low;t=y-y_low;Imgnew1(u,v)=Img(x,y);Imgnew2(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;endendendfigure;imshow(Imgnew2,[]);B=imrotate(Img,alpha/pi*180);figure;imshow(B,[]);(3)对给定的图像添加噪声(斑点噪声、高斯噪声)效果展示:代码:I= imread('D:\My Documents\My Pictures\5.JPG');figure,subplot(211);imshow(I);title('原图');J1=imnoise(I,'gaussian',0,0.02);subplot(223);imshow(J);title('添加高斯噪声');J=imnoise(I,'speckle',0.04);subplot(224);imshow(J);title('添加斑点噪声');五、算法综述灰度图像:一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数字图像处理》实验报告学院:信息工程学院专业:电子信息工程学号:姓名:2015年6月18日目录实验一图像的读取、存储和显示 (2)实验二图像直方图分析 (6)实验三图像的滤波及增强 (15)实验四噪声图像的复原 (19)实验五图像的分割与边缘提取 (23)附录1MATLAB简介 (27)实验一图像的读取、存储和显示一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

2.熟练掌握在MATLAB中如何读取图像。

3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。

4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。

5.图像的显示。

二、实验原理一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。

灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。

例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。

因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。

图像关于x和y坐标以及振幅连续。

要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。

将坐标值数字化成为取样;将振幅数字化成为量化。

采样和量化的过程如图1所示。

因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。

三、实验设备(1) PC计算机(2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)(3) 实验所需要的图片四、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件设为flower.jpg语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。

7.用imread()读入图像:Lenna.jpg 和camema.jpg;8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。

10. 用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。

11.将每一步的函数执行语句拷贝下来,写入实验报告,并且将得到第3、9、10步得到的图像效果拷贝下来。

五、实验源程序clc;clear;close all;I=imread('D:\picture\flower.tif');% 读入原图像,tif格式whos I ; % 显示图像I的基本信息imfinfo ('D:\picture\flower.tif');imwrite(I,'D:\picture\flower.jpg','quality',50);imwrite(I,'D:\picture\flower.bmp'); % 以位图(BMP)的格式存储图像g=im2bw(I); % 将图像转为二值图像imwrite(g,'D:\picture\flower1.tif');subplot(2,2,1),imshow(I),title('原图(tif格式)');subplot(2,2,2),imshow('D:\picture\flower.jpg'),title('压缩图(jpg格式)');subplot(2,2,3),imshow('D:\picture\flower.bmp'),title('位图(BMP格式)');subplot(2,2,4),imshow(g),title('二值图');六、实验结果原图(tif格式)压缩图(jpg格式)位图(BMP格式)二值图七、实验心得通过本次实验可以熟练的运用MATLAB编程软件。

实验二 图像直方图分析一.实验目的1.了解MATLAB 的操作环境和基本功能。

2.掌握MATLAB 中图像增强与平滑的函数的使用方法。

3.加深理解图像增强与平滑的算法原理。

二、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。

熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

(可将每段程序保存为一个.m 文件)1.直方图均衡化2.直接灰度变换3.空域平滑滤波(模糊、去噪)4.空域锐化滤波(二)采用MATLAB 底层函数编程实现1.灰度变换之动态范围扩展假定原图像f (x , y )的灰度范围为[a , b ],希望变换后图像g (x , y )的灰度范围扩展至[c , d ],则线性变换可表示为:c a y x f ab c d y x g +---=]),([),( 用MATLAB 底层函数编程实现上述变换函数。

观察图像‘ pout.tif’的灰度直方图,选择合适的参数[a , b ]、[c , d ]对图像‘pout.tif ’进行灰度变换,以获得满意的视觉效果。

2.非锐化掩蔽和高斯滤波从原图像中减去其非锐化(平滑过的)图像的过程称为非锐化掩蔽,其基本步骤为: ⑴对原图像进行平滑滤波得到模糊图像(,)f x y ;⑵从原图像中减去模糊图像,产生的差值图像称为模板(,)mask g x y ;⑶将模板加到原图像上,得到锐化后的图像(,)g x y 。

即,(,)(,) - (,)mask g x y f x y f x y =(,)(,)(,)1mask g x y f x y k g x y k =+*≥;用MATLAB 函数编程实现上述功能。

三、实验设备与软件1.计算机;2.MATLAB6.5及以上;四、实验源程序(一)1.直方图均衡化clc;clear all; close allI=imread('pout.tif');subplot(2,3,1);imshow(I);title('原图');subplot(2,3,2);imhist(I); % 显示原图的直方图title('原图的直方图');[I2,T]=histeq(I); %原图进行均衡化subplot(2,3,3);imshow(I2); %显示均衡化后图title('均衡化后的图');subplot(2,3,4);imhist(I2); %显示原图均衡化后的直方图title('原图均衡化后的直方图');subplot(2,3,5);plot((0:255)/255,T); % 绘制均衡化函数图title('均衡化函数图');imwrite(I2, 'D:\picture1\pout.png');imfinfo('D:\picture1\pout.png')%显示写入图的信息2.直接灰度变换clc;clear all; close allI=imread('cameraman.tif');subplot(2,3,1),imshow(I),title('原图(cameraman)');J=imadjust(I,[0 0.2],[0.5 1]);subplot(2,3,2),imshow(J),title('图cameraman调整灰度值后的图');[X,MAP] = imread('forest.tif');%X为图像数据矩阵,MAP为颜色表数据矩阵subplot(2,3,3),imshow(X,MAP),title('原图(forest)');I2=ind2gray(X,MAP);J2=imadjust(I2,[],[],0.5);J3=imadjust(I2,[],[],1.5);subplot(2,3,4),imshow(I2),title('forest的灰度图');subplot(2,3,5),imshow(J2),title('forest调整图像灰度值后明亮输出的图'); subplot(2,3,6),imshow(J3),title('forest调整图像灰度值后灰暗输出的图'); 3.空域平滑滤波(模糊、去噪)clc;clear all; close allI=imread('eight.tif');h1=ones(3,3)/9;h2=ones(5,5)/25;I1=imfilter(I,h1);%用3*3的方阵(元素值为0.11)过滤原图I2=imfilter(I,h2);%用5*5的方阵(元素值为0.04)过滤原图figure(1);subplot(2,2,1),imshow(I), title('原图');subplot(2,2,2),imshow(I1),title('用3*3的方阵(元素值为0.11)过滤原图'); subplot(2,2,3),imshow(I2),title('用5*5的方阵(元素值为0.04)过滤原图');J1=imnoise(I,'gaussian',0,0.005);% 加入高斯(Gaussian)噪声J2=imnoise(I,'salt & pepper',0.02);% 加入椒盐噪声K1 = imfilter(J1,fspecial('average',3));% 对J1进行平均值平滑滤波K2 = imfilter(J2,fspecial('average',3));% 对J2进行平均值平滑滤波figure(2);subplot(2,2,1), imshow(J1),title('加入高斯噪声');subplot(2,2,2), imshow(J2),title('加入椒盐噪声');subplot(2,2,3), imshow(K1),title('对加入高斯噪声的图进行平均值平滑滤波');subplot(2,2,4), imshow(K2),title('对加入椒盐噪声的图进行平均值平滑滤波');K3 = medfilt2(J1,[3 3]);% 对J1进行中值滤波K4 = medfilt2(J2,[3 3]);% 对J2进行中值滤波figure(3);subplot(2,2,1), imshow(J1),title('加入高斯噪声');subplot(2,2,2), imshow(J2),title('加入椒盐噪声');subplot(2,2,3), imshow(K3),title('对加入高斯噪声的图进行中值滤波');subplot(2,2,4), imshow(K4),title('对加入椒盐噪声的图进行中值滤波');4.空域锐化滤波clc;clear all; close allI = imread('moon.tif');w=fspecial('laplacian',0);%拉普拉斯算子w1=[1,1,1;1,-8,1;1,1,1];%新算子(w1)I1= imfilter(I,w, 'replicate');%拉普拉斯算子对原图锐化滤波subplot(2,4,1),imshow(I), title('原图');subplot(2,4,2),imshow(I1), title('拉普拉斯算子对原图锐化滤波图');f = im2double(I);%把原图的数据类型转换为双精度浮点类型(图不变)f1= imfilter(f,w,'replicate');%拉普拉斯算子对图f锐化滤波subplot(2,4,4),imshow(f1,[]), title('拉普拉斯算子对f锐化滤波图');f2= imfilter(f,w1, 'replicate');%新算子(w1)对图f锐化滤波subplot(2,4,5),imshow(f1,[]), title('新算子(w1)对f锐化滤波图');f4 = f-f1;%图f减去其锐化滤波(拉普拉斯算子)后的图f8 = f-f2;%图f减去其锐化滤波(新算子(w1))后的图subplot(2,4,3),imshow(f),title('原图的数据类型变为双精度浮点型即图f');subplot(2,4,6),imshow(f4),title('图f减去其锐化滤波(拉普拉斯算子)后的图');subplot(2,4,8),imshow(f8),title('图f减去其锐化滤波(新算子(w1))后的图');(二)1.灰度变换之动态范围扩展clc;clear all; close allI=imread('pout.tif');%数据为240行16列的矩阵subplot(2,2,1),imshow(I),title('原图(pout)');I1=double(I)./double(100);%对原图数据进行处理J=0.625.*(I1-0.1)+0.4;%a=0.1,b=0.9,c=0.4,d=0.9调整原图的灰度值——变明亮 subplot(2,2,2),imshow(J),title('图pout 调整灰度值后的图 ');subplot(2,2,3),imhist(I1),title('原图的直方图'); % 显示原图的直方图subplot(2,2,4),imhist(J),title('pout 调整灰度值后的直方图'); % 显示pout 调整灰度值后的直方图2.非锐化掩蔽和高斯滤波clc;clear all; close allI=imread('pout.tif');J=imfilter(I,fspecial('average',3));% 对I 进行平均值平滑滤波subplot(2,2,1),imshow(I),title('原图');subplot(2,2,2),imshow(J),title('对原图进行平均值平滑滤波得到模糊图像J'); M=I-J;%从原图像I 中减去模糊图像J ,产生的差值图像M 称为模板N=30*M+I;%将模板M 加到原图像I 上,得到锐化后的图像Nsubplot(2,2,3),imshow(M),title('I 减J 产生的差值图像M');subplot(2,2,4),imshow(N),title('M 的30倍加I 得到的锐化后的图像N');五、实验结果(一)1.直方图均衡化原图原图的直方图0100200均衡化后的图原图均衡化后的直方图均衡化函数图2.直接灰度变换原图(cameraman)图cameraman调整灰度值后的图原图(forest)forest的灰度图forest调整图像灰度值后明亮输出的图forest调整图像灰度值后灰暗输出的图对于’imadjust(I,[low_in high_in],[low_out high_out],gamma)’函数,gamma大于1图像比原图像增强,小于1,灰度比图像小,有模糊感,图像不够清晰.3.空域平滑滤波(模糊、去噪)原图用3*3的方阵(元素值为0.11)过滤原图用5*5的方阵(元素值为0.04)过滤原图加入高斯噪声加入椒盐噪声对加入高斯噪声的图进行平均值平滑滤波对加入椒盐噪声的图进行平均值平滑滤波加入高斯噪声加入椒盐噪声对加入高斯噪声的图进行中值滤波 对加入椒盐噪声的图进行中值滤波4.空域锐化滤波原图拉普拉斯算子对原图锐化滤波图原图的数据类型变为双精度浮点型即图 f拉普拉斯算子对 f 锐化滤波图新算子(w1)对 f 锐化滤波图图 f 减去其锐化滤波(拉普拉斯算子)后的图图 f 减去其锐化滤波(新算子(w1))后的图使用空域滤波使图像对比度增大,并且w8=[1,1,1;1,-8,1;1,1,1]算子增强效果更明显 (二)1灰度变换之动态范围扩展原图(pout)图pout 调整灰度值后的图0原图的直方图0.51pout 调整灰度值后的直方图0.512.非锐化掩蔽和高斯滤波原图对原图进行平均值平滑滤波得到模糊图像JI 减J 产生的差值图像M M 的30倍加I 得到的锐化后的图像N六.实验心得通过本次实验对高斯噪声与椒盐噪声有了更清楚的认识,也学会如何用平滑滤波,锐化滤波,高斯滤波处理图像,学到了很多新知识.实验三 图像的滤波及增强一、 实验目的1进一步了解MatLab 软件/语言,学会使用MatLab 对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。

相关文档
最新文档