最新实验一 MATLAB数字图像处理初步-河北工业大学

合集下载

matlab图像处理实验

matlab图像处理实验

matlab图像处理实验实验⼀ Matlab语⾔、数字图象基本操作⼀、实验⽬的1、复习MATLAB语⾔的基本⽤法;2、掌握MATLAB语⾔中图象数据与信息的读取⽅法;3、掌握在MATLAB中绘制灰度直⽅图的⽅法,了解灰度直⽅图的均衡化的⽅法。

⼆、实验原理MATLAB是集数值计算,符号运算及图形处理等强⼤功能于⼀体的科学计算语⾔。

作为强⼤的科学计算平台,它⼏乎能够满⾜所有的计算需求。

MATLAB软件具有很强的开放性和适⽤性。

在保持内核不变的情况下,MATLAB可以针对不同的应⽤学科推出相应的⼯具箱(toolbox)。

⽬前,MATLAB已经把⼯具箱延伸到了科学研究和⼯程应⽤的诸多领域,诸如数据采集、概率统计、信号处理、图像处理和物理仿真等,都在⼯具箱(Toolbox)家族中有⾃⼰的⼀席之地。

在实验中我们主要⽤到MATLAB提供图象处理⼯具箱(Image ProcessingToolbox)。

1、MATLAB与数字图像处理MATLAB全称是Matrix Laboratory(矩阵实验室),⼀开始它是⼀种专门⽤于矩阵数值计算的软件,从这⼀点上也可以看出,它在矩阵运算上有⾃⼰独特的特点。

实际上MATLAB中的绝⼤多数的运算都是通过矩阵这⼀形式进⾏的。

这⼀特点也就决定了MATLAB在处理数字图像上的独特优势。

理论上讲,图像是⼀种⼆维的连续函数,然⽽在计算机上对图像进⾏数字处理的时候,⾸先必须对其在空间和亮度上进⾏数字化,这就是图像的采样和量化的过程。

⼆维图像进⾏均匀采样,就可以得到⼀幅离散化成M×N样本的数字图像,该数字图像是⼀个整数阵列,因⽽⽤矩阵来描述该数字图像是最直观最简便的了。

⽽MATLAB的长处就是处理矩阵运算,因此⽤MATLAB处理数字图像⾮常的⽅便。

MATLAB⽀持五种图像类型,即索引图像、灰度图像、⼆值图像、RGB图像和多帧图像阵列;⽀持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像⽂件格式的读,写和显⽰。

matlab图像处理实验报告

matlab图像处理实验报告

matlab图像处理实验报告《Matlab图像处理实验报告》摘要:本实验报告通过使用Matlab软件进行图像处理实验,对图像进行了灰度化、二值化、边缘检测、图像增强等处理,通过实验结果分析,验证了Matlab在图像处理领域的实用性和有效性。

1. 实验目的本实验旨在通过Matlab软件进行图像处理实验,掌握图像处理的基本方法和技术,提高对图像处理算法的理解和应用能力。

2. 实验原理图像处理是对图像进行数字化处理的过程,主要包括图像获取、图像预处理、图像增强、图像分割和图像识别等步骤。

Matlab是一种功能强大的科学计算软件,具有丰富的图像处理工具箱,可用于图像的处理、分析和识别。

3. 实验内容(1)图像灰度化首先,通过Matlab读取一幅彩色图像,并将其转换为灰度图像。

利用Matlab 中的rgb2gray函数,将RGB图像转换为灰度图像,实现图像的灰度化处理。

(2)图像二值化接着,对灰度图像进行二值化处理,将图像转换为黑白二值图像。

利用Matlab 中的im2bw函数,根据设定的阈值对灰度图像进行二值化处理,实现图像的二值化处理。

(3)边缘检测然后,对二值图像进行边缘检测处理,提取图像的边缘信息。

利用Matlab中的edge函数,对二值图像进行边缘检测处理,实现图像的边缘检测处理。

(4)图像增强最后,对原始图像进行图像增强处理,改善图像的质量和清晰度。

利用Matlab 中的imadjust函数,对原始图像进行图像增强处理,实现图像的增强处理。

4. 实验结果分析通过实验结果分析,可以发现Matlab在图像处理领域具有较高的实用性和有效性。

通过Matlab软件进行图像处理实验,可以快速、方便地实现图像的处理和分析,提高图像处理的效率和精度,为图像处理技术的研究和应用提供了重要的工具和支持。

5. 结论本实验通过Matlab图像处理实验,掌握了图像处理的基本方法和技术,提高了对图像处理算法的理解和应用能力。

用matlab数字图像处理四个实验

用matlab数字图像处理四个实验

数字图像处理实验指导书目录实验一 MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割第二图像基本运算一、实验目的1.了解图像的算术运算在数字图像处理中的初步应用。

2.体会图像算术运算处理的过程和处理前后图像的变化。

二、实验原理图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。

如果输入图像为A(x,y)和B(x,y),输出图像为C(x,y),则图像的代数运算有如下四种形式:C(x,y) = A(x,y) + B(x,y)C(x,y) = A(x,y) - B(x,y)C(x,y) = A(x,y) * B(x,y)C(x,y) = A(x,y) / B(x,y)图像的代数运算在图像处理中有着广泛的应用,它除了可以实现自身所需的算术操作,还能为许多复杂的图像处理提供准备。

例如,图像减法就可以用来检测同一场景或物体生产的两幅或多幅图像的误差。

使用MATLAB的基本算术符(+、-、*、/ 等)可以执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型。

为了更方便地对图像进行操作,MATLAB图像处理工具箱包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。

下表列举了所有图像处理工具箱中的图像代数运算函数。

表2-1 图像处理工具箱中的代数运算函数能够接受uint8和uint16数据,并返回相同格式的图像结果。

虽然在函数执行过程中元素是以双精度进行计算的,但是MATLAB工作平台并不会将图像转换为双精度类型。

代数运算的结果很容易超出数据类型允许的范围。

例如,uint8数据能够存储的最大数值是255,各种代数运算尤其是乘法运算的结果很容易超过这个数值,有时代数操作(主要是除法运算)也会产生不能用整数描述的分数结果。

图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。

MATLAB数字图像处理初步实验

MATLAB数字图像处理初步实验

实验一 MATLAB数字图像处理初步********************总共10小题********************一、实验目的及要求学习在MATLAB环境下对图像文件的I/O操作,为读取各种格式的图像文件和后续进行图像处理打下基础。

1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像间如何转化。

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

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

<同上>7.用imread函数,读入图像:Lenna.jpg 和camema.jpg;由于文件中只有lena.bmp和camera.gif,所以要用imwrite函数,将两个图另存为。

实验一 Matlab语言及数字图像处理基本操作

实验一  Matlab语言及数字图像处理基本操作

实验一Matlab语言及数字图像处理基本操作一、实验目的1、学习MATLAB语言的基本用法;2、掌握MATLAB语言中图像数据与信息的读取方法;3、掌握在MATLAB中绘制灰度直方图的方法;4、掌握灰度直方图的均衡化的方法;5、利用基本灰度变换对图像进行增强二.实验环境及开发工具Windws XP、MATALAB7.0三.实验原理及方法1、验证MATLAB中图像数据的读写及显示(1)imreadimread函数用于读入各种图像文件,其一般的用法为[X,MAP]=imread(‘filename’,‘fmt’)其中,X,MAP分别为读出的图像数据和颜色表数据,fmt为图像的格式,filename 为读取的图像文件(可以加上文件的路径)。

(2)imwriteimwrite函数用于输出图像,其语法格式为:imwrite(X,map,filename,fmt)按照fmt指定的格式将图像数据矩阵X和调色板map 写入文件filename。

(3)imfinfoimfinfo函数用于读取图像文件的有关信息,其语法格式为imfinfo(filename,fmt)imfinfo函数返回一个结构info,它反映了该图像的各方面信息,其主要数据包括:文件名(路径)、文件格式、文件格式版本号、文件的修改时间、文件的大小、文件的长度、文件的宽度、每个像素的位数、图像的类型等。

(4)MATLAB中图像文件的显示imshowimshow函数是最常用的显示各种图像的函数,其语法如下:imshow(X,map)其中X是图像数据矩阵,map是其对应的颜色矩阵,若进行图像处理后不知道图像数据的值域可以用[]代替map。

需要显示多幅图像时,可以使用figure语句,它的功能就是重新打开一个图像显示窗口。

2、验证图像对比度增强函数Imadjust如果原图像f(x,y)的灰度范围是[m,M],我们希望调整后的图像g(x,y)的灰度范围是[n,N],那么下述变换,,就可以实现这一要求。

实验一 MATLAB数字图像处理初步-河北工业大学8页word文档

实验一  MATLAB数字图像处理初步-河北工业大学8页word文档

实验一 MATLAB数字图像处理初步网络121 XXX一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像类型转换。

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

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

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

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

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

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

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

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

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

作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。

图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: 亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。

若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。

若图像是double类,则像素取值就是浮点数。

规定双精度型归一化亮度图像的取值范围是[0,1](2) 二值图像一幅二值图像是一个取值只有0和1的逻辑数组。

(最新版)河北工业大学数字图像处理之matlab实验报告

(最新版)河北工业大学数字图像处理之matlab实验报告

实验一一、实验要求1、熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱,为编写图像处理程序奠定基础。

2、掌握二进制(黑白)图像、灰度图像、彩色图像读、写和显示的基本方法,分别选择以上几种类型的图像,观察其图像类型参数。

3、说明以下程序的显示结果为何是一幅几乎全黑的图像。

clear; close all;myi=zeros(20,20);myi(2:2:18,2:2:18)=1;myi=uint8(myi);figure, imshow(myi,'notruesize');编写程序将图一中orangutan_1.tif图片拉伸一倍后形成orangutan_2.tif所示的图片。

4、应用MATLAB(或C)语言编写一幅灰度图像直方图统计程序,并选择一幅图像显示其直方图,将结果与MATLAB图像处理工具箱中提供的灰度直方图函数imhist的处理结果进行比较。

5、利用以上编写的程序,估算图一所示图像iris.tif中的瞳孔半径(以像素为单位)。

orangutan_1.tif orangutan_2.tif iris.tif图一二、实验内容1,通过安装matlab软件,熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱2,图像的读、写、显示和图像类型参数查看通过 I= imread(FILENAME),读取图像,注意FILENAME=‘图像文件所在的位置+文件名’;1)通过imwrite(a,FILENAME,fmt),可以把a图像写进FILENAME图像,即是替换掉FILENAME,但是文件图像格式不替换。

2)通过imshow(I),可以把I图像显示出来。

3)例如:在matlab软件中,运行如下命令:I = imread('E:\orangutan_2.tif');figure,imshow(I)I1 = imread('E:\iris.tif');figure,imshow(I1)imwrite(I,'E:\iris.tif','tif')I2 = imread('E:\iris.tif');figure,imshow(I2)原图:orangutan_2.tif iris.tif运行结果:可以看到orangutan_2.tif已成功写入 iris.tif中。

(整理)实验一 MATLAB数字图像处理初步.

(整理)实验一  MATLAB数字图像处理初步.

实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像间如何转化。

6. 了解图像的算术运算在数字图像处理中的初步应用。

7.体会图像算术运算处理的过程和处理前后图像的变化。

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

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

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

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

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

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

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

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

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

作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。

图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。

若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。

若图像是double类,则像素取值就是浮点数。

数字图像处理的MATLAB实现(新实验指导书)

数字图像处理的MATLAB实现(新实验指导书)

实验一用MATLAB实现图像的傅里叶变换1. 目的(1)掌握二维傅里叶变换的原理。

(2)掌握二维傅里叶变换的性质。

2. 任务(1)选择一幅灰度图像,对其进行离散傅立叶变换,观察其离散傅立叶的频谱。

(2)通过零填充改变图像的大小,对其进行离散傅立叶变换,观察其离散傅立叶的频谱,分析零填充对傅里叶变换频率分辨率的影响。

(3)对选取的灰度图像进行离散傅里叶变换,并将频谱的零频率部分由左上角平移到频谱中心,观察并分析频谱中各频率成分的分布。

(4)对选取的灰度图像旋转一定的角度,观察并分析灰度图像傅里叶频谱和旋转后图像的傅里叶频谱之间的对应关系。

3. 思考题举例说明二维傅里叶变换的应用。

答:傅立叶变换是一种非常有用的积分变换,它能把时域信息变换到频域信息进行处理。

这里我们主要讲二维傅立叶变换在图像处理中的应用。

4. 实验结果:实验二用MATLAB实现图像增强1. 目的(1)掌握图像增强的基本原理。

(2)掌握常用的图像增强技术。

(1)选择一幅直方图不均匀的灰度图像,对该图像做直方图均衡化处理,观察并分析直方图均衡化前、后图像以及它们的灰度直方图的变化。

(2)选择一幅灰度图像,利用邻域平均法对它进行滤波,观察并分析滤波器的大小对滤波结果的影响。

(3)选择一幅灰度图像,对它添加椒盐噪声,然后分别利用邻域平均和中值滤波对该图像进行滤波,比较这两种滤波器的滤波效果。

(4)选择一幅灰度图像,分别利用拉普拉斯滤波器和sobel滤波器对该图像进行锐化,比较这两种滤波器的锐化效果。

3. 思考题直方图均衡化处理的主要步骤是什么?答:直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。

设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。

在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数): (1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。

matlab 数字图像处理实验报告(五份)

matlab 数字图像处理实验报告(五份)

《数字图像处理实验报告》实验一图像的增强一.实验目的1.熟悉图像在MATLAB下的读写、输出;2.熟悉直方图;3.熟悉图像的线性指数等;4.熟悉图像的算术运算和几何变换。

二.实验仪器计算机、MATLAB软件三.实验原理图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。

从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。

其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。

此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。

频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。

常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。

假定原图像为f(x,y),经傅立叶变换为F(u,v)。

频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。

四.实验内容及步骤1.图像在MATLAB下的读写、输出;实验过程:>> I = imread('F:\image\624baf9dbcc4910a.jpg');figure;imshow(I);title('Original Image');text(size(I,2),size(I,1)+15, ...'IMG_20170929_130307.jpg', ...'FontSize',7,'HorizontalAlignment','right');Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86In imshow at 196Original Image2.给定函数的累积直方图。

matlab数字图像处理实验

matlab数字图像处理实验

数字图像处理实验指导书目录实验一 MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割3实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像间如何转化。

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

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

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

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

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

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

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

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

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

作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。

图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类:亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。

若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。

若图像是double 类,则像素取值就是浮点数。

数字图像处理实验matlab

数字图像处理实验matlab

计算机图像处理:学号:班级:实验一:了解数字图像处理平台一、实验目的(1)学会使用扫描仪;(2)熟悉MATLAB软件。

二、实验容(1)用扫描仪扫一幅彩色图片;一幅灰度图片。

(2)熟悉MATLAB的主界面窗口中各个窗口的功能,利用不同的矩阵输入方式给矩阵赋值,了解MATLAB的简单编程及矩阵基本知识;(3)掌握使用MATLAB的帮助来获得更多的信息。

三、实验仪器设备扫描仪、计算机和MATLAB应用软件。

实验二:图像处理一、实验目的(1)通过应用MATLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用;(2)通过实验进一步掌握图像处理的基本技术和方法。

二、实验容1.应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换。

显示原始图像:>>I=imread('D:\tu.jpg');>> imshow(I);RGB 灰度图像: 代码:>> I=imread('D:\tu.JPEG'); >> imshow(I)>> graytu=rgb2gray(I); >> subplot(1,2,1); >> subimage(I); >> subplot(1,2,2); >> subimage(graytu) 效果:1002003004005010015020025030010020030040050100150200250300RGB 转二值图像: 代码:>> [indtu,map]=rgb2ind(I,0.5); >> subplot(1,2,1); >> subimage(I); >> subplot(1,2,2); >> subimage(indtu,map) 效果:100200300400100200300100200300400100200300索引转RGB 图像: 代码:>> I1=ind2rgb(indtu,map); >> subplot(1,2,1);>> subimage(indtu,map); >> subplot(1,2,2); >> subimage(I1) 效果:100200300400100200300100200300400100200300索引转灰度图像: 代码:>> I2gtu=ind2gray(indtu,map); >> subplot(1,2,1);>> subimage(indtu,map); >> subplot(1,2,2); >> subimage(I2gtu) 效果:100200300400100200300100200300400100200300灰度转索引图像: 代码:[g2itu,map]=gray2ind(graytu,64); >> subplot(1,2,1); >> subimage(graytu); >> subplot(1,2,2); >> subimage(g2itu,map) 效果:100200300400100200300100200300400100200300RGB 转二值图像: 代码:>> r2bwtu1=im2bw(I,0.8); >> subplot(1,2,1); >> subimage(I); >> subplot(1,2,2);>> subimage(r2bwtu1)代码: 效果:100200300400100200300100200300400100200300灰度转二值图像 代码:g2bwtu1=im2bw(graytu,0.8); >> subplot(1,2,1); >> subimage(graytu); >> subplot(1,2,2); >> subimage(g2bwtu1) 效果:100200300400100200300100200300400100200300索引转二值图像 代码:>> i2bwtu=im2bw(indtu,map,0.5); >> subplot(1,2,1);>> subimage(indtu,map); >> subplot(1,2,2); >> subimage(i2bwtu) 效果:1002003004001002003001002003004001002003002. 应用MATLAB 工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图,然后将它们进行逆变换,观察逆变换后的图像 (1) 傅里叶正变换 代码:>> F=fft2(graytu); >> subplot(1,2,1); >> subimage(graytu); >> subplot(1,2,2);>> subimage(log(abs(F)),[3,10]) 效果:100200300400100200300100200300400100200300(2) 傅里叶反变换 代码:>> IF=ifft2(F); >> subplot(1,2,1);>> subimage(log(abs(F)),[3,10]); >> subplot(1,2,2); >> subimage(uint8(IF)) 效果:100200300400100200300100200300400100200300(3) DCT 变换 代码:>> B=dct2(graytu); >> subplot(1,2,1); >> subimage(graytu); >> subplot(1,2,2);>> subimage(log(abs(B)),[3,5]) 效果:100200300400100200300100200300400100200300(4) IDCT 变换 代码:>> iB=idct2(B); >> subplot(1,2,1);>> subimage(log(abs(B)),[3,5]); >> subplot(1,2,2); >> subimage(uint8(iB)) 效果:100200300400100200300100200300400100200300总结:傅里叶变化:傅里叶变换是一种特殊的积分变换。

Get清风matlab数字图像处理实验

Get清风matlab数字图像处理实验

matlab数字图像处理实验数字图像处理实验指导书目录实验一 MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割4实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像间如何转化。

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

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

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

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

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

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

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

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

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

作为MATLAB根本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。

图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类:➢亮度图像(Intensity images)➢二值图像(Binary images)➢索引图像(Indexed images)➢RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。

假设亮度图像的像素都是uint8类或uint16类,那么它们的整数值范围分别是[0,255]和[0,65536]。

河北工业大学数字图像处理之matlab实验报告

河北工业大学数字图像处理之matlab实验报告

实验一一、实验要求1、熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱,为编写图像处理程序奠定基础。

2、掌握二进制(黑白)图像、灰度图像、彩色图像读、写和显示的基本方法,分别选择以上几种类型的图像,观察其图像类型参数。

3、说明以下程序的显示结果为何是一幅几乎全黑的图像。

clear; close all;myi=zeros(20,20);myi(2:2:18,2:2:18)=1;myi=uint8(myi);figure, imshow(myi,'notruesize');编写程序将图一中orangutan_1.tif图片拉伸一倍后形成orangutan_2.tif所示的图片。

4、应用MATLAB(或C)语言编写一幅灰度图像直方图统计程序,并选择一幅图像显示其直方图,将结果与MATLAB图像处理工具箱中提供的灰度直方图函数imhist的处理结果进行比较。

5、利用以上编写的程序,估算图一所示图像iris.tif中的瞳孔半径(以像素为单位)。

orangutan_1.tif orangutan_2.tif iris.tif图一二、实验内容1,通过安装matlab软件,熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱2,图像的读、写、显示和图像类型参数查看通过 I= imread(FILENAME),读取图像,注意FILENAME=‘图像文件所在的位置+文件名’;1)通过imwrite(a,FILENAME,fmt),可以把a图像写进FILENAME图像,即是替换掉FILENAME,但是文件图像格式不替换。

2)通过imshow(I),可以把I图像显示出来。

3)例如:在matlab软件中,运行如下命令:I = imread('E:\orangutan_2.tif');figure,imshow(I)I1 = imread('E:\iris.tif');figure,imshow(I1)imwrite(I,'E:\iris.tif','tif')I2 = imread('E:\iris.tif');figure,imshow(I2)原图:orangutan_2.tif iris.tif运行结果:可以看到orangutan_2.tif已成功写入 iris.tif中。

matlab数字图像处理 实验一

matlab数字图像处理 实验一

实验一基于MATLAB的数字图像处理一姓名-胡青李班级-信息与计算科学11-1班学号-10114590一、实验目的与要求1.了解图像去操技术及其实现方法。

2.了解什么是“图像的噪声”和图像去噪的常用方法。

3.掌握图像畸变校正技术及其实现。

4.了解畸变产生的原因,畸变校正的原理。

5.掌握图像数字水印技术及其实现。

6.掌握数字图像压缩技术及其实现。

二、实验内容及步骤1.基于离散余弦变换,对一幅图像进行降噪处理。

我们认为图像的噪声在离散余弦变换结果中处在其高频部分,而高频部分的幅值一般很小,利用这一性质,就可以很容易实现图像的噪声抑制。

这样也会失去图像的部分细节。

2.用带噪型号预处理图片,然后利用小波变换吧信号分解到各尺度中,在每一尺度下把属于噪声的小波系数去掉,保留并增强属于信号的小波系数,最后在经过小波逆变换恢复检测信号。

小波去噪框图3.首相将输入的图像分成8*8或者16*16的图象块,然后对每个图像块进行二维DCT 变换,最后将变换的来的DCT系数量化,编码,形成压缩后的JPEG图像格式。

在显示JPEG图像时,首先将量化、编码后的DCT系数进行解码,并对每个8*8或者16*16的块进行二维DCT反变换,最后将操作完成后的所有块重构成一幅完整的图像。

对于一幅典型的图像而言,进行DCT变换后,大部分的DCT系数的值非常接近于0,如果舍弃这些接近于0的的DCT系数,在重构图像时并不会因此带来画面质量的显著下降,这就是JPEG算法能够对图像进行压缩的原理。

利用JPEG的压缩原理,输入一幅图像,将其分成8*8的图象块,计算每个图象块的DCT系数。

DCT变换的特点是变换后图像大部分能量集中在左上角,因此左上角反映图像低频部分数据,右下角反映原图像高频部分数据,而图像的能量通常集中在低频部分。

因而,对二维图像进行DCT变换后,只保留DCT系数矩阵最左上角的10个系数,然后对每块图像利用这10个系数进行DCT反变换来重构。

数字图像处理实习1—Matlab图像处理初步

数字图像处理实习1—Matlab图像处理初步

实验1——Matlab图像处理初步
实验目的:熟悉Matlab语言关于图像处理的基本操作
实验内容:练习imread、imshow、iminfo、imwrite、subplot、for等命令以及矩阵计算有关命令。

实验要求:
1、读取并显示cameraman.tif图像(提示:imread)。

2、将图像中间的1/3部分(如图)分别作如下处理,其余部分不变
a) 每个像素点的值都乘以2,即f(x,y)=2*f(x,y),显示处理前后的图像(提
示:imshow),同一个图像窗口左右显示(提示:subplot),左边显示原
始图像,右边显示处理后图像,处理后图像保存为cameraman1.bmp(提
示:imwrite)
b) 每个像素点取反色,即f(x,y)=255-f(x,y);显示处理前后的图像,同一个
图像窗口上下显示(提示:subplot),上边显示原始图像,下边显示处理
后图像,处理后图像保存为cameraman2.bmp(提示:imwrite)
3、撰写实验报告并附上所用程序和结果。

f=imread('cameraman.tif');
[m n]=size(f);
g=f;
r=round(m/3);
c=round(n/3);
for i=r:2*r
for j=c:2*c
g(i,j)=2*f(i,j);
end
end
subplot(2,1,1),imshow(f);
subplot(2,1,2),imshow(g);
imwrite(g,'cameraman1.bmp','bmp');
2013-12-16。

实验一 Matlab_图像处理基本操作

实验一 Matlab_图像处理基本操作

实验一Matlab 图像处理基本操作和付立叶变换一、matlab基本操作1. 显示图像>> I1=imread('D:\图像\LENA.BMP');>> imshow(I1);>> I2=imread('D:\图像\***.BMP');>> imshow(I2);2、检查内存(数组)中的图像:>> whos3、保存图像:>> imwrite(I2,'lena_2G.png'); % 将图像由原先的bmp格式另存为png格式4、多幅图像显示>> I1=imread('D:\图像\LENA.BMP');>> figure //出现图形显示窗口>> subplot(1,2,1),imshow(I1);>> I2=imread('D:\图像\**.BMP');>> subplot(1,2,2),imshow(I2);二、傅里叶变换1.目的:a、理解傅里叶变换的原理b、掌握傅里叶变换的性质2.实验步骤:a. 首先构造一幅黑白二值图像,在128×128的黑色背景中心产生一个4×4的白色方块,对其进行傅里叶变换;(Matlab中用fft2实现2D傅里叶变换)b.把低频分量移到图象中心,而把高频分量移到四个角上;(方法有两种:其一,在FT以前对测试图象逐点加权(-1)^(i+j);其二,利用FFTSHIFT函数);c.利用图象增强中动态范围压缩的方法增强2DFT;(Y=C*log(1+abs(X)));d.构造一幅黑白二值图像,在128×128的黑色背景中令第32行至36行、第32列至第36列的值为1(即产生一个4×4的白色方块),对其进行傅里叶变换;e. 将上图旋转300,再进行傅里叶变换 (imrotate )f. 构造二幅黑白二值图像,在128×128的黑色背景中分别令第60行至68行、第60列至第68列的值为1,第64行至65行、第64列至第65列的值为1产生两幅图像,分别对这两幅图像进行傅里叶变换3、原理分析、技术讨论、回答问题a. 对于第二幅图像(第一步与第四步图像的比较),说明FOURIER 变换具有以下性质:)//(20000),(),(N vy M ux j e v u F y y x x f +-⇔--πb. 对于第三幅图像(第一步与第五步图像的比较),说明FOURIER 变换具有以下性质:θcos r x = θs i n r y = αωc o s =u αωs i n=v ),(),(00θαωθθ+⇔+F r fc. 对于第四幅图像(第一步与第六步图像的比较),说明FOURIER 变换具有以下性质:)/,/(||1),(b v a u F ab by ax f = 4、结果如下六、M文件如下:a=zeros(128,128);a(63:66,63:66)=1;A=fft2(a);b=fftshift(A);for i=1:128for j=1:128B(i,j)=log(1+abs(A(i,j)));endendh=zeros(128,128);h(32:36,32:36)=1;H=fft2(h);h1=imrotate(h,30);H1=fft2(h1);i=zeros(128,128);i(60:68,60:68)=1;I=fft2(i);j=zeros(128);j(64:65,64:65)=1;J=fft2(j);figure;subplot(221),imshow(a);title('原图');subplot(222),imshow(A);title('FT');subplot(223),imshow(b);title('低中高角FT'); subplot(224),imshow(B);title('增强2DFT');figure;subplot(221);imshow(a);title('Step 1原图'); subplot(222);imshow(A);title('Step 1FT'); subplot(223);imshow(h);title('Step 4原图'); subplot(224);imshow(H);title('Step 4FT');figure;subplot(221),imshow(a);title('Step 1原图'); subplot(222),imshow(A);title('Step 1FT'); subplot(223),imshow(h1);title('Step 5原图'); subplot(224),imshow(H1);title('Step 5FT');figure;subplot(321);imshow(a);title('Step 1原图'); subplot(322);imshow(A);title('Step 1FT'); subplot(323),imshow(i);title('Step 6原图1'); subplot(324),imshow(I);title('Step 6原图1FT'); subplot(325),imshow(j);title('Step 6原图2'); subplot(326),imshow(J);title('Step 6原图2FT');。

实验一 MATLAB数字图像处理初步

实验一  MATLAB数字图像处理初步

实验一MATLAB数字图像处理初步一、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;程序及结果:clc,clear,close all;I=imread('flower.tif'); % 读入原图像,tif格式whos I % 显示图像I的基本信息imshow(I) % 显示图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

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

clc,clear,close all;I=imread('flower.tif'); % 读入原图像,tif格式% 这种格式知识用于jpg格式,压缩存储图像,q是0-100之间的整数imfinfo ('flower.tif')imwrite(I,'flower.jpg','quality',10);imwrite(I,'flower.bmp'); % 以位图(BMP)的格式存储图像flower.tifflower.jpgFlower.bmp7.用imread()读入图像:Lenna.jpg 和camema.jpg;8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。

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

实验一M A T L A B数字图像处理初步-河北工业大学实验一 MATLAB数字图像处理初步网络121 XXX一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像类型转换。

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

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

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

因仅供学习与交流,如有侵权请联系网站删除谢谢13此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。

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

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

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

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

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

作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。

图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类:➢亮度图像(Intensity images)➢二值图像(Binary images)仅供学习与交流,如有侵权请联系网站删除谢谢13➢索引图像(Indexed images)➢RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。

若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。

若图像是double类,则像素取值就是浮点数。

规定双精度型归一化亮度图像的取值范围是[0,1] (2) 二值图像一幅二值图像是一个取值只有0和1的逻辑数组。

(3) 索引图像索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像最多只能显示256种颜色。

一幅索引颜色图像在图像文件里定义,当打开该文件时,构成该图像具体颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。

(4) RGB图像一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色相似点都是在特定空间位置的彩色图像相对应的红、绿、仅供学习与交流,如有侵权请联系网站删除谢谢13蓝三个分量。

按照惯例,形成一幅RGB彩色图像的三个图像常称为红、绿或蓝分量图像。

2、数据类和图像类型间的转化表1中列出了MATLAB和IPT为表示像素所支持的各种数据类。

表中的前8项称为数值数据类,第9项称为字符类,最后一项称为逻辑数据类。

工具箱中提供了执行必要缩放的函数(见表2)。

以在图像类和类型间进行转化。

表1-1 MATLAB和IPT支持数据类型表1-2 格式转换函数仅供学习与交流,如有侵权请联系网站删除谢谢13下面给出读取、压缩、显示一幅图像的程序(%后面的语句属于标记语句,编程时可不用输入)I=imread(‘原图像名.tif’); % 读入原图像,tif格式whos I % 显示图像I的基本信息imshow(I) % 显示图像Imfinfo %查询图像文件信息imwrite; %压缩存储图像例如:imwrite(I,'1.jpg','jpg','quality',80)就是以质量因子80压缩,100就是不变,图像尺寸不变,像素值会发生变化,图像会变得越来越模糊。

可以看压缩后图像与原始图像的大小发生变化。

% 显示多幅图像,其中n为图形窗口的号数figure(n), imshow('filename');gg=im2bw('filename'); % 将图像转为二值图像figure, imshow(gg) % 显示二值图像三、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为football.jpg,存入一个数组中;仅供学习与交流,如有侵权请联系网站删除谢谢13>> I=imread('football.jpg');2.利用whos 命令提取该读入图像football.jpg的基本信息;>> whosName Size Bytes ClassI 256x320x3 245760 uint8 arrayans 1x1 1966 struct arrayGrand total is 245874 elements using 247726 bytes3.利用imshow()函数来显示这幅图像;>>imshow(I)4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;>> imfinfo('football.jpg')ans =仅供学习与交流,如有侵权请联系网站删除谢谢13Filename:'C:\MATLAB7\toolbox\images\imdemos\football.jpg'FileModDate: '01-Mar-2001 09:52:38'FileSize: 27130Format: 'jpg'FormatVersion: ''Width: 320Height: 256BitDepth: 24ColorType: 'truecolor'FormatSignature: ''NumberOfSamples: 3CodingMethod: 'Huffman'CodingProcess: 'Sequential'Comment: {}5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为footballnew.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

>> imwrite(I,'footbal.jpg','quality',10);6.用imread()读入索引图像:kids.tif;>> K=imread('kids.tif');7.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为kids_index.bmp。

>> imwrite(K,'kids_index.bmp');8.用imfinfo()获取图像football.jpg和kids.tif 的大小;仅供学习与交流,如有侵权请联系网站删除谢谢13>> imfinfo('football.jpg')Width: 320 Height: 256>> imfinfo('kids.tif')Width: 318 Height: 4009.用figure,imshow()分别将football.jpg和kids.tif显示出来,观察两幅图像的质量。

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

>> a=imread('football.jpg');>> e=rgb2gray(a);>> f=im2bw(e);仅供学习与交流,如有侵权请联系网站删除谢谢13>>imshow(f);11. 用imread打开一幅图像,在MATLAB中用程序绘制其灰度直方图。

(不要用MATLAB中自带的函数imhist和histeq实现)。

>> I=imread('football.jpg');>> [rows,cols]=size(I);>> zhifang=zeros(1,256);>> for i=0:255zhifang(1,i+1)=length(find(I==i))/(rows*cols);end>> figure(1);>> bar(0:255,zhifang,'grouped');仅供学习与交流,如有侵权请联系网站删除谢谢13>>12. 将一幅彩色图像转换成256级灰度图像,进行4倍和16倍减采样,并对减采样的效果进行描述>> a=imread('football.jpg');>> e=rgb2gray(a);>> imshow(e);。

>> for m=1:2figure[width,height]=size(b);c=zeros(floor(width/(2*m)),floor(height/(2*m )));k=1;n=1;for i=1:(2*m):widthfor j=1:(2*m):heightc(k,n)=b(i,j);n=n+1;endk=k+1;n=1;endimshow(uint8(c));if m==1title('4倍减采样');elsetitle('16倍减采样');endEnd13.将一幅彩色图像转换成256、64、32、8、2级灰度图像,并对灰度减小后的图像效果进行描述。

14.>> a=imread('football.jpg');15.>> b=rgb2gray(a);16.>> figure17.>> imshow(b);18.>> title('256级灰度图像');19.>> [wid,hei]=size(b);20.>> for m=1:421.figure22.c=zeros(wid,hei);23.if m==124.for i=1:wid25.for j=1:hei26.c(i,j)=floor(b(i,j)/4);27.end28.end29.imshow(uint8(c),[0,63]);30.title('64级灰度图像')31.else32.for i=1:wid33.for j=1:hei34.c(i,j)=floor(b(i,j)/(2^(2*m-1)));35.end36.end37.imshow(uint8(c),[0,256/2^(2*m-1)-1]);38.switch m39.case {2}40.title('32级灰度图像');41.case {3}42.title('8级灰度图像');43.case {4}44.title('2级灰度图像');45.end46.end47.End。

相关文档
最新文档