当前位置:文档之家› 数字图像处理实验指导书

数字图像处理实验指导书

数字图像处理实验指导书
数字图像处理实验指导书

《数字图像处理》实验指导书

王永堃

沈阳理工大学信息学院

前言

数字图像处理是电子信息科学与技术专业学生必修的专业基础课之一。通过本课程的学习,使学生能够掌握有关数字图像处理的基本概念、方法、原理及应用,能够培养和增强学生技能的创新意识和创新思维,提高实际动手能力和创新能力,为学生进一步学习专业课程奠定基础。

数字图像处理由理论教学和实验教学环节组成,理论教学环节是基础,实验教学环节是对理论教学环节的延伸、充实和完善,实验教学在数字图像处理课程中具有重要地位与作用。

实验题目和学时说明。

实验一编写一幅灰度图像直方图统计程序;

实验二图象编码实验;

实验三用Photoshop软件对图像进行增强操作;

实验四图象分割实验。

实验五数字图像变换

实验六数字图像增强

实验七二维数字滤波器设计

实验八基于DSP的灰度阈值变换

目录

实验一编写一幅灰度图像直方图统计程序................... 3一实验目的......................................... 3二实验原理......................................... 3三实验内容......................................... 3四实验要求......................................... 3五实验程序......................................... 3六思考题........................................... 5实验二图象编码实验.................................... 6一实验目的......................................... 6二实验内容......................................... 6三实验步骤......................................... 6

1 余弦变换编码 .................................. 6

2 行程编码...................................... 6

3 JPEG编码...................................... 7

四思考题........................................... 7实验三用Photoshop软件对图像进行增强操作............... 8一实验目的......................................... 8二实验内容......................................... 8三实验步骤......................................... 8四思考题......................................... 10实验四图象分割实验.................................. 11一实验目的....................................... 11二实验内容....................................... 11三实验方法....................................... 111边缘检测..................................... 11

2 模板匹配.................................... 12

四思考题......................................... 13实验五数字图像变换……………………………………………..1 4

实验六数字图像增强……………………………………………….1 6

实验七二维数字滤波器设计……………………………………….1 7

实验八基于DSP的灰度阈值变换………………………………….1 8

实验一编写一幅灰度图像直方图统计程序

一实验目的

了解数字图像灰度直方图的概念和计算方法,掌握用MATLAB画数字图像灰度直方图的方法。提高学生编程能力,巩固所学知识。二实验原理

灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。

灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。

三实验内容

(1)计算出一幅灰度图像的直方图;

(2)对灰度图像进行简单的灰度线形变换;

(3)观察直方图的对应变化和图像对比度的变化;

(4)图像二值化:选取一个域值将图像变为黑白图像。

四实验要求

1 阅读程序,能够说明程序中使用的图像处理算法;

2 能够用MATLAB进行程序调试;

3 认真观察实验现象并说明原理。

五实验程序

(1)计算出一幅灰度图像的直方图

clear

close all

I=imread('004.bmp');

imhist(I)

title('(1)直方图');

(2)对灰度图像进行简单的灰度线形变换

figure

subplot(2,2,1)

imshow(I);

title('(2)灰度线性变换');

subplot(2,2,2)

histeq(I);

(3)观察直方图的对应变化和图像对比度的变化

figure

subplot(2,2,1)

imshow(I)

J=imadjust(I,[0.3,0.7],[0,1],1);

title('(3)直方图的对应变化和图像对比度的变化');

subplot(2,2,2)

imshow(J)

subplot(2,2,3)

imshow(I)

J=imadjust(I,[0.5 0.8],[0,1],1);

subplot(2,2,4)

imshow(J)

(4)图像二值化(选取一个域值将图像变为黑白图像)figure

subplot(2,2,1)

imshow(I)

J=find(I<150);

I(J)=0;

J=find(I>=150);

I(J)=255;

title('(4)图像二值化 ( 域值为150 )');

subplot(2,2,2)

imshow(I)

clc;

I=imread('14499.jpg');

bw=im2bw(I,0.5);%选取阈值为0.5

figure;

imshow(bw);%显示二值图象

六思考题

1 在程序中,原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a',b'],算法是怎样的?

2 线性变换后,像素的灰度值是否超出0-255的范围,若超出,该如何处理?

3 如果要求计算图像视觉质量和平均视觉质量,问相应的MATLAB 程序如何改写。

实验二图象编码实验

一实验目的

掌握基本的图象编码方法,观察压缩效果,加深对行程编码、余弦变换编码、JPEG编码的理解。

二实验内容

余弦变换编码、行程编码和JPEG编码方法的理解与效果测试。三实验步骤

1 余弦变换编码

(1)在Matlab Help菜单中, 选Demos项。

(2)打开Toolboxes\Image Processing项,选Discrete Cosine Transform,并运行。

(3)选图象Flower,如下图所示,在右上角8*8 DCT系数图下,调节系数选择滑块。保留系

数为白色,置零系数为黑

色。

(4)按 Apply 键。

(5)比较原始图象、恢

复图象、误差图象。观察

原始图象与恢复图象的

均方误差。

(6)改变系数选择滑

块的位置,重做(4)、

(5)。

(7)选其他图象,重做

(4)-(7)。

2 行程编码

(1)在Photoshop中打开一BMP格式的灰度图象文件brain.bmp。(2)在文件菜单中选存储为项,另取名为brain1.rle,选BMP格式

保存。

(3)在BMP选项菜单中选压缩(RLE)。

(4)按确认键。

(5)比较brain.bmp与brain1.rle的文件大小。

(6)选其他类型图象,与(1)-(6)类似,重做。

3 JPEG编码

(1)在Photoshop中打开一BMP格式的灰度图象文件brain.bmp,如图2所示。

(2)在文件菜单中选存储为项,另取名为brain.jpg,选JPEG格式保存。

(3)在JPEG选项菜单中调节文件大小滑块,注意图象品质因子Q的变化。

(4)按确认键。

(5)比较brain.bmp与brain.jpg的文件大小。

(6)打开图象brain. jpg,观察brain.bmp与brain.jpg图象的差别。

(7)重做(1)-(3),改变文件大小滑块的位置,与(5)-(7)类似,重做。

(8)选其他类型图象,与(1)-(8)类似,重做。

四思考题

1 在余弦变换编码中,保留系数与压缩比、恢复图象质量的关系是怎样的?

2 思考对何种图象进行行程编码,效率较高。

3 JPEG的图像压缩比恢复图象质量的关系是怎样的?

实验三用Photoshop软件对图像进行增强操作

一实验目的

掌握数字图像增强的基本原理和方法,并能运用Photoshop软件对图像进行增强操作。

比较不同方法图像增强的效果,分析这些增强方法的特点。

二实验内容

应用Photoshop软件对图像作灰度拉伸、对比度增强、直方图均衡、图像平滑、中值滤波、边缘增强、伪彩色增强、假彩色合成等。三实验步骤

1)打开一幅图像;

2)灰度拉伸:

①线形拉伸:在?图像→调整→色阶?中,可以通过直

接设置原图像灰度值的输入范围和所需的输出范围来简单的完成某一灰度段到另一灰度段的灰度调整映射变换。

②曲线拉伸:在?图像→调整→曲线?中,在弹出的?曲

线?对话框中,直接用鼠标拖动改变灰度输入、输出曲线的形状就可以完成任意线形的灰度变换。

3) 对比度增强:

对比度增强可以通过?图像→调整→亮度/对比度?来直接对原图像的亮度或对比度进行调整,观察增强处理前后图像直方图的变化。

4) 直方图均衡

直方图均衡可调用?图像→调整→色调均化?菜单项,即可达到直方图均衡的效果。

5) 图像平滑

①图像的3×3均匀平滑可以在?滤镜→模糊→模糊?中实现,观察处理前后图像细节和边缘的变化;也可以调用?模糊?对话框中的?高斯模糊?来观察高斯平滑处理的结果,改变半径,

观察图像的变化,分析高斯平滑处理的原理。

②通过?滤镜→其它→自定?菜单项调出模板对话框,可以输入自定义的平滑算子或其它增强算子,改变模板的大小和缩放比例,观察处理的效果。

6) 中值滤波

①先使用?滤镜→杂色→添加杂色?菜单添加噪声,再使用?滤镜—杂色—中间值?中值滤波操作,设置滤波半径,观察处理结果;

②采用?添加杂色?菜单项中的均匀噪声和高斯噪声给图像添加噪声,分别使用中值滤波和均匀平滑,观察这两种处理的效果,比较它们的异同。

7) 边缘增强

①使用?滤镜→锐化→锐化边缘?,观察图像边缘的变化,也可以使用使用?USM 锐化?,?进一步锐化?等其它锐化方法。

②使用?滤镜→其它→自定?调出模板对话框,使用教材中讲到的Laplace增强算子和高通滤波算子或自定义的算子,比较它们的处理效果。

8) 边缘检测

①使用?滤镜→风格化?的?查找边缘?,?等高线?,?照亮边缘?等可以提取图像的边缘,改变参数,提取图像的最佳边缘。

②使用?滤镜→其它→自定?,输入教材讲述的边缘检测算子,分析处理的效果,比较这些算子的特点。

9) 彩色增强技术

①密度分割:打开一幅灰度(黑白)图像,使用?图像→模式→ RGB颜色?将图像更改成真彩色模式,再使用?图像→调整→色调分离?对话框,输入密度分割的灰度级数(1-255),使用?图像→模式→索引颜色?将图像改成索引模式,使用?图像→模式→颜色表?对为每个灰度级定义一种颜色。

②空间域变换彩色合成:将一幅灰度图象采用三种不同变换,得到三幅灰度图象,然后选择?图像→调整→通道混合器?,

将三幅图象进行RGB彩色合成,形成一幅伪彩色图像。

③假彩色合成:假彩色图像合成是对一幅自然色彩图像或多光谱图像通过映射函数变换成新的三基色分量,使增强图像呈现出与原图像不同的彩色。打开一幅真彩色图像,选择?图像→调整→通道混合器?,设置对话框中的参数,观察处理后图像的变化。

四思考题

1 通过实验,中值滤波和均匀平滑在去图像噪声上各有什么特点?试比较两种方法异同。

2边缘增强与边缘检测有什么不同,试比较边缘检测算子Laplace、Prewitt、Sobel算子、方向算子和梯度算子的优缺点。

3 伪彩色增强与假彩色合成有什么区别?

实验四图象分割实验

一实验目的

掌握基本的图象分割方法,观察图象分割的效果,加深对边缘检测、模板匹配、区域生长的理解。

二实验内容

边缘检测,模板匹配,区域生长。

图像分割:在图像分析中,通常需要将所关心的目标从图像中提取出来,这种从图像中将某个特定区域与其他部分进行分离并提取出来的处理,就是图像分割。因为图像分割处理实际上就是区分图像中的?前景目标?和?背景?,所以通常又称之为图像的二值化处理。

图像分割的方法:三种1阈值方法:根据图像的灰度值的分布特性确定某个阈值来进行图像分割。2.边界分割方法:通过检测出封闭某个区域的边界来进行图像分割。3.区域提取方法:根据特定区域与其他背景区域特性上的不同来进行图像分割。

边缘检测:物体的边缘是以图像局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,例如灰度值的突变、颜色的突变、纹理结构的突变等,同时物体的边缘也是不同区域的分界线

模板匹配:图像匹配是在图像中寻找是否有所关心的目标。方法:1.全局匹配 2.特征匹配

区域生长:是一种根据事先定义的准则将像素或者子区域聚合成更大区域的过程。

空域处理:是指在空间域内直接对数字图像进行处理。

变换域处理:是指通过傅立叶变换,离散余弦变换,等变换方法将图片从空间域变换到相应的变换域,得到变换域系数阵列,然后在变换域中对图像进行处理,变换后再将图片返回到空域中得到处理结果。

三实验方法

1边缘检测

(1) 在Matlab Help菜单中, 选Demos项。

(2) 打开Toolboxes\Image Processing项,选Edge Detection,并

运行。

(3) 选图象Blood、边缘检测方法Sobel,如下图所示。

(4) 按Apply键。

(5) 观察检测到的边

界。

(6) 改变阈值,重做

(4)-(5)。

(7) 选边缘检测方法

Prewitt,重做(4)-

(6)。

(8) 选边缘检测方法

Roberts,重做(4)-

(6)。

(9) 选边缘检测方法Laplacian of Gaussian,重做(4)-(6)。

(10) 选其他图象,重做(4)-(9)。

2 模板匹配

(1)在Photoshop中打开一黑白灰度图象文件,如下图所示;(2)在滤镜菜单其他子菜单中选自定项;

(3)在自定界面中输入点模

板;

(4)按确认键;

(5)观察处理后图象。

(6)在编辑菜单中选返回项,

恢复原始图象。

(7)在滤镜菜单其他子菜单中

选自定项。

(8)在自定界面中分别输入线

模板、方向模板,重做(4)-

(5)。

(9)在Photoshop中其它黑白灰度图象文件,重做(2)-(8)。

四思考题

1 什么是图像分割?图像分割的功能是什么?有何用途

2 结合实验说明,图像分割的边缘检测、模板匹配和区域生长法的特点是什么?

实验五数字图像变换

一、实验目的:

1.了解图像变换的意义和手段

图像变换是图像处理和图像分析的重要分支,它将图像转换到变换域(例如频率域),在变换域对图像进行处理和分析。图像变换作为图像增强,图像复原的基本工具,或者作为图像特征为图像分析提供基本依据。多年来,变换理论自身的发展为信号处理和图像处理提供了强有力的支持和重要手段。

2.熟悉离散傅里叶变换的基本性质

离散傅立叶变换的主要性质,加法定理,相似性定理,位移定理,卷积定理,可分离乘积,微分性质,旋转拉普拉斯算子等。

3.熟练应用快速傅立叶变换(FFT)

实际应用中经常采用一种快速傅立叶变换的方法(FFT)。MATLAB6.5的fft2指令用于二维FFT,iff2用于FFT逆变换。通常计算一维DFT所需乘法和加法次数是N^2,快速傅立叶变换算法将DFT 计算式分解,减少计算工作量。

其算法思想是:先将原图像进行转置,按行对转置后的图像矩阵进行一维FFT,将此变换所得到的中间矩阵再转置,再按行对转置后的中间矩阵作一维FFT,最后得到的就是二维FFT。

4.熟练掌握离散余弦变换

离散余弦变换,简称DCT,是一种实数域变换,其变换核为实数的余弦函数,很适于做图像压缩和随机信号处理。

二、实验内容

1.对快速傅立叶变换FFT编制程序,并应用于快速卷积计算,及模

板匹配应用。

2.编制离散余弦变换程序并调试运行,DCT变换实现有两种方法,一

种是基于FFT的快速算法,另一种是DCT变换矩阵。用DCT变换做图像压缩。

3.利用Radon变换检测图像中的直线。Radon变换与Hough变换(一

种常用的计算机视觉处理)紧密相关。因此可利用Radon变换来实现Hough变换,以实现检测直线的功能。

三、实验要求

1.提交上述题目的MATLAB或者VC++程序清单,并加注释。

2.提供新编制程序运行结果的图像及原始图像

3.联系教材内容对实验上机结果进行分析。

实验六、数字图像增强

一、实验目的:

1、了解图像增强的目的及意义。加强对图像增强的感性认识,巩固

新学的图像增强理论知识和相关算法

2、掌握对多幅图像进行代数运算的方法

3、熟练掌握直方图均衡化和直方图规定化处理方法

4、熟练掌握空域滤波中常用的平滑和锐化滤波器

5、熟练掌握低通和高通滤波器使用方法

二、实验内容:

1、编制一个对图像进行直方图均衡化和规定化处理的程序。

2、编制程序进行图像的相加,将多幅加入高斯噪声的图像相加达到

去噪求平均值。

3、用原图像与离散余弦压缩过的图像进行相减运算。

4、编写程序实现均值平滑滤波、维纳滤波、中值滤波。

5、使用多种常用空间域微分算子对图像进行边缘处理并作比较(如

拉普拉斯算子等)。

6、编制程序在频域中对图像用Butterworth低通,高通滤波器进行

处理。

三、实验要求

1、提交上述实验内容相应程序设计清单并加上相应注释。

2、上述内容相应图像,并提交原始图像。

3、应用所学理论对实验内容进行分析。

实验七、二维数字滤波器设计

一.实验目的

滤波是图像处理中很重要的部分,它可用于改善和增强图像的质量,突出图像特征。

1、要求熟练掌握处理二维的卷积函数及指令。

2、熟练掌握滤波函数应用。

3、学会滤波器设计的步骤和方法。

4、学会计算滤波的频率响应。

二.实验内容

1、计算滤波器的频率响应,编制相应程序。

2、应用频率变换法使用频率变换矩阵将一维FIR滤波器变换为二维

FIR。编制相应程序。

3、用频率采样法设计滤波器。编制相应程序。

4、用加窗方法设计二维滤波器。编制相应程序。

三.实验要求

上述实验内容相应程序设计清单。并加上相应注释。

1、完成上述内容相应图像,并提交原始图像。

2、应用数字滤波器理论对实验内容进行分析。

实验八、基于DSP的灰度阈值变换

一、实验原理

灰度阈值变换可以将一幅灰度图像转换成黑白二值图像,该变换操作过程是先由用户指定一个阈值,如果图像中的像素的灰度值小于该阈值,则将该像素的灰度值设置为最低0,否则灰度值设置为255。灰度阈值变换的变换函数表达式如下:

f(x)={ 0 x

255 x>=T 其中T为指定的阈值。

二、实验目的:

1、熟悉并掌握DSP6211系统硬件资源和使用的方法:了解图

像系统的组成、工作流程和基本原理;

2、学会使用CCS2.0ForC6000的启动、退出,熟悉编辑、编译

DSP应用程序的操作;

3、对DSP应用程序的结构有所了解,掌握工程文件的开启和

关闭操作;了解工程文件的内容;

4、了解并掌握运用灰度阈值变换算法,通过观察实验结果对

算法建立感性认识,对DSP在数字图像处理中的作用和所

处的位置有形象的了解。

5、了解TMS320C6211DSP的运行速度和操作模式。

三、实验内容:

1、编写TMS3200c6211DSP初始化程序。

2、用C语言编写灰度阈值变换程序及调试运行。

三、实验要求

a)上述实验内容相应程序设计清单。并加上相应注释。

b)成上述内容相应图像,并提交原始图像。

c)用理论对实验内容进行分析。

附录:主要参考程序清单

1、快速傅立叶变换(FFT)

傅立叶变换的应用

下面的程序实现快速卷积。首先构造两个矩阵A和B,代码如下:

A=magic(3); %用1到9之间的数产生一个3×3方阵

B=ones(3); %生成一个全1的3×3方阵

A(8,8)=0; %用0将A补成8×8的方阵

B(8.8)=0; %用0将B补成8×8的方阵

然后,分别对A和B进行傅立叶变换,代码如下:

A2=fft2(A);

B2=fft2(B);

在频域内进行点乘,代码如下:

M=A2*B2;

最后将点乘的结果变换回空域,并截取有效数据,代码如下:

C=ifft2(M);

C=C(1:5,1:5);

C=real(C);

最后结果为:

C=

8.0000 9.0000 15.0000 7.0000 6.0000

11.0000 17.0000 30.0000 19.0000 13.0000

15.0000 30.0000 45.0000 30.0000 15.0000

7.0000 21.0000 30.0000 23.0000 9.0000

4.0000 13.0000 1

5.0000 11.0000 2.0000

2、下面是用DCT变换做图像压缩的例子。

I=imread(‘cameraman.tif’); %读入图像

I=double(I)/255;

T=dctmtx(8); %计算离散变换矩阵,返回结果为

双精度型

数字图像处理实验1

实验一 实验内容和步骤 练习图像的读取、显示和保存图像数据,步骤如下: (1)使用命令figure(1)开辟一个显示窗口 (2)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内显示、二值图像和灰度图像,注上文字标题。 (3)保存转换后的灰度图像和二值图像 (4)在同一个窗口显示转换后的灰度图像的直方图 I=imread('BaboonRGB.bmp'); figure,imshow(I); I_gray=rgb2gray(I); figure,imshow(I_gray); I_2bw=Im2bw(I_gray); figure,imshow(I_2bw); subplot(1,3,1),imshow(I),title('RGB图像'); subplot(1,3,2),imshow(I_gray),title('灰度图像'); subplot(1,3,3),imshow(I_2bw),title('二值图像'); imwrite(I_gray,'Baboongray.png'); imwrite(I_2bw,'Baboon2bw.tif'); figure;imhist(I_gray);

RGB 图 像灰度图 像二值图 像 050100150200250 500 1000 1500 2000 2500 3000

(5)将原RGB 图像的R 、G 、B 三个分量图像显示在figure(2)中,观察对比它们的特点,体会不同颜色所对应的R 、G 、B 分量的不同之处。 [A_RGB,MAP]=imread('BaboonRGB.bmp'); subplot(2,2,1),imshow(A_RGB),title('RGB'); subplot(2,2,2),imshow(A_RGB(:,:,1)),title('R'); subplot(2,2,3),imshow(A_RGB(:,:,2)),title('G'); subplot(2,2,4),imshow(A_RGB(:,:,3)),title('B'); (6)将图像放大1.5倍,插值方法使用三种不同方法,在figure(3)中显示放大后的图像,比较不同插值方法的结果有什么不同。将图像放大到其它倍数,重复实验;A=imread('BaboonRGB.bmp'); figure(3),imshow(A),title('原图像'); B=imresize(A,1.5,'nearest'); figure(4),imshow(B),title('最邻近法') C=imresize(A,1.5,'bilinear'); ; figure(5),imshow(C),title('双线性插值'); D=imresize(A,1.5,'bicubic'); figure(6),imshow(D),title('双三次插值 '); RGB R G B

武汉科技大学 数字图像处理实验报告

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(DB)1102班姓名 学号: 课程名称:数字图像处理 二○一四年十一月一日

实验一图像直方图处理及灰度变换(2学时) 实验目的: 1. 掌握读、写、显示图像的基本方法。 2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。 3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。 实验内容: 1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。 2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。 3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。 实验步骤: 1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图: I1=imread('pic.jpg'); %读取图像 I2=rgb2gray(I1); %将彩色图变成灰度图 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('灰度图'); subplot(3,2,4); imhist(I2); %统计直方图 title('统计直方图'); subplot(3,2,5); J=histeq(I2); %直方图均衡 imshow(J); title('直方图均衡'); subplot(3,2,6); imhist(J); title('统计直方图');

原 图 灰度图 01000 2000 3000统计直方图 100200直方图均衡 0统计直方图 100200 仿真分析: 将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。从直方图上反应,暗部到亮部像素分布更加均匀。 2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png'); I2=im2bw(I1,0.5); %选取阈值为0.5 I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('阈值变换'); subplot(3,2,5); imshow(I3); title('灰度调整'); subplot(3,2,2); imhist(I1); title('统计直方图'); subplot(3,2,4);

数字图像处理实验指导书-河北工业大学2014实验一

数字图像处理 实验指导书 河北工业大学 计算机科学与软件学院

实验一 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 图像的采样和量化 根据图像数据矩阵解释方法的不同,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的逻辑数组。 (3) 索引图像 索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像最多只能显示256种颜色。 一幅索引颜色图像在图像文件里定义,当打开该文件时,构成该图像具体颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。(4) RGB图像 一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色相

数字图像处理四个实验报告,带有源程序

数字图像处理 实验指导书 学院:通信与电子工程学院 专业:电子信息工程 班级: 学号: 姓名: XX理工大学

实验一 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 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: 亮度图像(Intensity images) 二值图像(Binary images) 索引图像(Indexed images) RGB图像(RGB images)

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方 法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread, imfinfo 等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。 2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray() 将其 转化为灰度图像,记为变量B。 2.图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。 3.绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程和调用Matlab函数完成如下实验。 1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用 imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰

度直方图与原灰度直方图的区别。 2) 对B 进行直方图均衡化处理,试比较与源图的异同。 3) 对B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。 图1.1 分段线性变换函数 三、实验原理与算法分析 1. 灰度变换 灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。 1) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 r L s --=1 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围, 如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换: s = c log(1 + r ),c 为常数,r ≥ 0 3) 幂次变换: 0,0,≥≥=γγc cr s 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

数字图像处理实验(全完整答案)

数字图像处理实验(全 完整答案)

实验一常用 MATLAB图像处理命令 一、实验目的 1 、熟悉并掌握MA TLAB 工具的使用; 2、实现图像的读取、显示、代数运算和简单变换。 二、实验环境 MATLAB 6.5 以上版本、WIN XP或W IN2000计算机 三、常用函数 读写图像文件 1 imread imread 函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 2 imwrite imwrite 函数用于写入图像文件,如:imwrite(a,'e:\w02.tif', ’tif ’) 3 imfinfo imfinfo 函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif')图像的显示 1 image image 函数是 MATLAB提供的最原始的图像显示函数,如: a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2 imshow imshow 函数用于图像文件的显示,如: i=imread('e:\w01.tif'); imshow(i); title (‘原图像’) %加上图像标题

3 colorbar colorbar 函数用显示图像的颜色条,如: i=imread('e:\w01.tif'); imshow(i); colorbar; 4 figure figure 函数用于设定图像显示窗口,如:figure(1) ;/figure(2) ; 5 subplot 把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。 Subplot (m,n,p)分成 m*n个小窗口,在第p 个窗口中创建坐标轴为当 前坐标轴,用于显示图形。 6 plot 绘制二维图形 plot (y) Plot (x,y)xy 可以是向量、矩阵。 图像类型转换 1 rgb2gray 把真彩图像转换为灰度图像 i=rgb2gray (j ) 2 im2bw 通过阈值化方法把图像转换为二值图像 I=im2bw(j ,level ) Level 表示灰度阈值,取值范围0~1(即0.n ),表示阈值取自原图像灰度范围的n%

数字图像处理实验指导书

实验一 Matlab图像处理工具箱的初步练习 一、实验目的和任务 1、初步了解与掌握MA TLAB语言的基本用法; 2、掌握MA TLAB语言中图象数据与信息的读取方法; 3、掌握在MA TLAB语言中图像类型的转换。 二、实验仪器、设备及材料 1、计算机 2、MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox) 3、实验所需要的图片 三、实验原理 将数字图像的RGB表示转换为YUV表示; Y=0.30R+0.59G+0.11B U=0.70R-0.59G-0.11B V=-0.30R-0.59G+0.89B 四、实验步骤 1、阅读资料并熟悉MatLab的基本操作 2、读取MATLAB中的图象数据 3、显示MATLAB中的图象文件。用MATLAB在自建的文件夹中建立m文件,在这个文件的程序中,将MA TLAB目录下work文件夹中的tree.tif 图象文件读出,用到imread,imfinfo等命令,观察一下图象数据,了解一下数字图象在MA TLAB中的处理就是处理一个矩阵的本质。 4、将3中的图象显示出来(用imshow)。 5、对MA TLAB目录下work文件夹中的flowers.tif进行真彩色图像、索引色图像、灰度图像、二值图像之间的相互变换,并显示。 6、进行真彩色图像RGB(lenacolor.jpg)、YIQ图像、HSV图像、YcbCr图像的相互转换,并显示。 五、实验报告要求 1、描述实验的基本步骤; 2、用图片给出步骤4、5、6中取得的实验结果; 六、实验所需图片

lenacolor.jpg 七、实验注意事项 1、学生应提前预习 2、请大家在E盘建一个目录(matlab),在每次启动时都要将这个目录加入到MATLAB的搜索路径中,添加的方法为File----Set Path----Tool---Add Path 八、思考题 1、图像之间转换的基础是什么,为什么可以实现相互的转换 九、附录 MATLAB简介 (1) MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。实际上MATLAB中的绝大多数的运算都是通过矩阵这一形式进行的。这一特点也就决定了MA TLAB在处理数字图像上的独特优势。理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。而MATLAB的长处就是处理矩阵运算,因此用MA TLAB处理数字图像非常的方便。MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读,写和显示。MATLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。 1、MATLAB中图象数据的读取 A、imread imread函数用于读入各种图象文件,其一般的用法为 [X,MAP]=imread(‘filename’,‘fmt’) 其中,X,MAP分别为读出的图象数据和颜色表数据,fmt为图象的格式,filename为读取的图象文件(可以加上文件的路径)。 例:[X,MAP]=imread(’flowers.tif’,’tif’);

数字图像处理实验指导书模板

《数字图像处理》实验指导书 编写: 罗建军 海南大学三亚学院 10月

目录 一、概述 ....................................................................... 错误!未定义书签。 二、建立程序框架 ....................................................... 错误!未定义书签。 三、建立图像类 ........................................................... 错误!未定义书签。 四、定义图像文档实现图像读/写.............................. 错误!未定义书签。 五、实现图像显示 ....................................................... 错误!未定义书签。 六、建立图像处理类................................................... 错误!未定义书签。 七、实现颜色处理功能............................................... 错误!未定义书签。 (一) 亮度处理................................................................. 错误!未定义书签。 (二) 对比度处理............................................................. 错误!未定义书签。 (三) 色阶处理................................................................. 错误!未定义书签。 (四) 伽马变换................................................................. 错误!未定义书签。 (五) 饱和度处理............................................................. 错误!未定义书签。 (六) 色调处理................................................................. 错误!未定义书签。 八、实现几何变换功能............................................... 错误!未定义书签。 (一) 图像缩放................................................................. 错误!未定义书签。 (二) 旋转......................................................................... 错误!未定义书签。 (三) 水平镜像................................................................. 错误!未定义书签。 (四) 垂直镜像................................................................. 错误!未定义书签。 (五) 右转90度................................................................. 错误!未定义书签。 (六) 左转90度................................................................. 错误!未定义书签。 (七) 旋转180度............................................................... 错误!未定义书签。 九、实现平滑锐化功能............................................... 错误!未定义书签。 十、图像处理扩展编程............................................... 错误!未定义书签。

数字图像处理实验 实验二

实验二MATLAB图像运算一、实验目的 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 二、实验步骤 1.图像的加法运算-imadd 对于两个图像f x,y和 (x,y)的均值有: g x,y=1 f x,y+ 1 (x,y) 推广这个公式为: g x,y=αf x,y+β (x,y) 其中,α+β=1。这样就可以得到各种图像合成的效果,也可以用于两张图像的衔接。说明:两个示例图像保存在默认路径下,文件名分别为'rice.png'和'cameraman.tif',要求实现下图所示结果。 代码: I1 = imread('rice.png'); I2 = imread('cameraman.tif'); I3 = imadd(I1, I2,'uint8'); I4 = imadd(I1, I2,'uint16'); subplot(2, 2, 1), imshow(I1), title('?-ê?í???1'); subplot(2, 2, 2), imshow(I2), title('?-ê?í???2'); subplot(2, 2, 3), imshow(I3), title('8??í?????ê?'); subplot(2, 2, 4), imshow(I4), title('16??í?????ê?'); 结果截图:

2.图像的减法运算-imsubtract 说明: 背景图像可通过膨胀算法得到background = imopen(I,strel('disk',15));,要求实现下图所示结果。 示例代码如下: I1 = imread('rice.png'); background = imerode(I1, strel('disk', 15)); rice2 = imsubtract(I1, background); subplot(2, 2, 1), imshow(I1), title('?-ê?í???'); subplot(2, 2, 2), imshow(background), title('±3?°í???'); subplot(2, 2, 3), imshow(rice2), title('′|àíoóμ?í???'); 结果截图: 3.图像的乘法运算-immultiply

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 09级电子信息工程二班

实验一常用MATLAB图像处理命令 一、实验内容 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 实验结果如右图: 代码如下: Subplot (1,3,1) i=imread('E:\数字图像处理\2.jpg') imshow(i) title('RGB') Subplot (1,3,2) j=rgb2gray(i) imshow(j) title('灰度') Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title('二值') 2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (3,2,1) i=imread('E:\数字图像处理 \16.jpg') x=imresize(i,[250,320]) imshow(x) title('原图x') Subplot (3,2,2) j=imread(''E:\数字图像处理 \17.jpg') y=imresize(j,[250,320]) imshow(y) title('原图y') Subplot (3,2,3) z=imadd(x,y) imshow(z)

title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果') Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果') Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果') 3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (2,2,1) i=imread('E:\数字图像处理 \23.jpg') imshow(i) title('原图') Subplot (2,2,2) J = imadjust(i,[],[],3); imshow(J) title('变暗') Subplot (2,2,3) J = imadjust(i,[],[],0.4) imshow(J) title('变亮') Subplot (2,2,4) J=255-i Imshow(J) title('变负') 二、实验总结 分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。 解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。 乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。 除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

数字图像处理程序

数字图像处理程序

数字图像处理实验 图像处理实验(一)直方图 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特 征更加明显。 灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像 增强。 1、灰度直方图 (1)计算出一幅灰度图像的直方图 clear close all I=imread('004.bmp'); imhist(I) title('实验一(1)直方图'); (2)对灰度图像进行简单的灰度线形变换, figure subplot(2,2,1) imshow(I); title('试验2-灰度线性变换'); subplot(2,2,2) histeq(I); (3)看其直方图的对应变化和图像对比度的变化。 原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a’,b’]公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a) figure subplot(2,2,1) imshow(I) J=imadjust(I,[0.3,0.7],[0,1],1); title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)进行变换 '); subplot(2,2,2) imshow(J) subplot(2,2,3) imshow(I) J=imadjust(I,[0.5 0.8],[0,1],1); subplot(2,2,4) imshow(J) (4) 图像二值化(选取一个域值,(5) 将图像变为黑白图像) figure subplot(2,2,1)

数字图像处理——彩色图像实验报告

6.3实验步骤 (1)对彩色图像的表达和显示 * * * * * * * * * * * *显示彩色立方体* * * * * * * * * * * * * rgbcube(0,0,10); %从正面观察彩色立方体 rgbcube(10,0,10); %从侧面观察彩色立方 rgbcube(10,10,10); %从对角线观察彩色立方体 %* * * * * * * * * *索引图像的显示和转换* * * * * * * * * * f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像 %rgb图像转换成8色索引图像,不采用抖动方式 [X1,map1]=rgb2ind(f,8,'nodither'); figure,imshow(X1,map1); %采用抖动方式转换到8色索引图像 [X2,map2]=rgb2ind(f,8,'dither'); figure,imshow(X2,map2); %显示效果要好一些 g=rgb2gray(f); %f转换为灰度图像 g1=dither(g);%将灰色图像经过抖动处理,转换打二值图像figure,imshow(g);%显示灰度图像 figure,imshow(g1);%显示抖动处理后的二值图像 程序运行结果:

彩色立方体原图 不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像 灰度图像抖动处理后的二值图像

(2)彩色空间转换 f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像 %转换到NTSC彩色空间 ntsc_image=rgb2ntsc(f); figure,imshow(ntsc_image(:,:,1));%显示亮度信息figure,imshow(ntsc_image(:,:,2));%显示色差信息figure,imshow(ntsc_image(:,:,3));%显示色差信息 %转换到HIS彩色空间 hsi_image=rgb2hsi(f); figure,imshow(hsi_image(:,:,1));%显示色度信息figure,imshow(hsi_image(:,:,2)); %显示饱和度信息figure,imshow(hsi_image(:,:,3));%显示亮度信息 程序运行结果: 原图 转换到NTSC彩色空间

数字图像处理实验报告(完整版)

数字图像处理 实验一 MATLAB数字图像处理初步 一、显示图像 1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像; 实验结果如下图: 源代码: >>I=imread('lily.tif') >> whos I >> imshow(I) 二、压缩图像 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。 6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。7.用imread()读入图像Sunset.jpg和Winter.jpg; 8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小; 9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。其中9的实验结果如下图:

源代码: 4~6(接上面两个) >>I=imread('lily.tif') >> imfinfo 'lily.tif'; >> imwrite(I,'lily.jpg','quality',20); >> imwrite(I,'lily.bmp'); 7~9 >>I=imread('Sunset.jpg'); >>J=imread('Winter.jpg') >>imfinfo 'Sunset.jpg' >> imfinfo 'Winter.jpg' >>figure(1),imshow('Sunset.jpg') >>figure(2),imshow('Winter.jpg') 三、二值化图像 10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。实验结果如下图: 源代码: >> I=imread('lily.tif') >>gg=im2bw(I,0.4); F>>igure, imshow(gg)

数字图像处理实验指导书

实验一数字图像处理编程基础 一、实验目的 1. 了解MATLAB图像处理工具箱; 2. 掌握MATLAB的基本应用方法; 3. 掌握MATLAB图像存储/图像数据类型/图像类型; 4. 掌握图像文件的读/写/信息查询; 5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法; 6. 编程实现图像类型间的转换。 二、实验原理 略。 三、实验内容 1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。 2. 运行图像处理程序,并保存处理结果图像。 四、分析思考 归纳总结Matlab各个基本指令。 Dither 采用“抖动”方法从RGB 图像创建索引图像 grayslice 从灰度图像通过阈值处理创建索引图像 gray2ind 从灰度图像创建索引图像 ind2gray 从索引图像创建灰度图像 rgb2ind 从RGB 图像创建索引图像 ind2rgb 从索引图像创建RGB 图像 rgb2gray 从RGB 图像创建灰度图像

实验二 图像几何变换实验 一、实验目的 1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果; 2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现; 3.掌握matlab 编程环境中基本的图像处理函数。 二、实验原理 1. 初始坐标为(,)x y 的点经过平移00(,)x y ,坐标变为(',')x y ,两点之间的关系为:00 ''x x x y y y =+??=+?,以矩阵形式表示为: 00'10'01100 11x x x y y y ????????????=?????????????????? 2. 图像的镜像变换是以图象垂直中轴线或水平中轴线交换图像的变换,分为垂直镜像变换和水平镜像变换,两者的矩阵形式分别为: '100'01010011x x y y -????????????=?????????????????? '100'01010011x x y y ????????????=-?????????????????? 3. 图像缩小和放大变换矩阵相同: '00'0010011X y x S x y S y ????????????=?????????????????? 当1x S ≤,1y S ≤时,图像缩小;当1x S ≥,1y S ≥时,图像放大。 4. 图像旋转定义为以图像中某一点为原点以逆时针或顺时针方

数字图像处理实验报告

数字图像处理实验报告

实验一数字图像处理编程基础 一、实验目的 1. 了解MA TLAB图像处理工具箱; 2. 掌握MA TLAB的基本应用方法; 3. 掌握MA TLAB图像存储/图像数据类型/图像类型; 4. 掌握图像文件的读/写/信息查询; 5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法; 6. 编程实现图像类型间的转换。 二、实验内容 1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。 2. 运行图像处理程序,并保存处理结果图像。 三、源代码 I=imread('cameraman.tif') imshow(I); subplot(221), title('图像1'); imwrite('cameraman.tif') M=imread('pout.tif') imview(M) subplot(222), imshow(M); title('图像2'); imread('pout.bmp') N=imread('eight.tif') imview(N) subplot(223), imshow(N); title('图像3'); V=imread('circuit.tif') imview(V) subplot(224), imshow(V); title('图像4');

N=imread('C:\Users\Administrator\Desktop\1.jpg') imshow(N); I=rgb2gary(GRB) [X.map]=gary2ind(N,2) RGB=ind2 rgb(X,map) [X.map]=gary2ind(I,2) I=ind2 gary(X,map) I=imread('C:\Users\dell\Desktop\111.jpg'); subplot(231),imshow(I); title('原图'); M=rgb2gray(I); subplot(232),imshow(M); [X,map]=gray2ind(M,100); subplot(233),imshow(X); RGB=ind2rgb(X,map); subplot(234),imshow(X); [X,map]=rbg2ind(I); subplot(235),imshow(X); 四、实验效果

数字图像处理实验

《数字图像处理》 实验报告 学院:信息工程学院 专业:电子信息工程 学号: 姓名: 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 的大小;

相关主题
文本预览
相关文档 最新文档