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

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

数字图像处理实验指导书

信息科学与工程学院电子系

二○○六年

前言

数字图像处理是研究数字图像处理的基本理论、方法及其在智能化检测中应用的学科,是电子信息类本科专业的专业课。

本课程侧重于数字图像的基本处理,并对图像分析的基本理论和实际应用进行系统介绍;目的是使学生系统掌握数字图像处理的基本概念、原理和实现方法,学习图像分析的基本理论、典型方法和实用技术,具备解决通信领域的图像相关问题的初步能力,为今后的研究与开发打下扎实的基础。

目录

实验一常用的图像文件格式与格式转换和图像矩阵的显示方法 (2)

实验二傅立叶变换 (4)

实验三图像增强及编程处理 (5)

实验一常用的图像文件格式与格式转换和

图像矩阵的显示方法

1.实验目的

熟悉Matlab语言的初步使用;

熟悉常用的图像文件格式与格式转换;

熟悉图像矩阵的显示方法(灰度、索引、黑白、彩色);

熟悉图像矩阵的格式转换

2.实验内容

练习图像读写命令imread和imwrite并进行图像文件格式间的转换。特别是索引图像与1,4,8,16比特图像的存储与转换。

熟悉下列模块函数

Image file I/O.

imread - Read image file.

imwrite - Write image file.

Image display.

colorbar - Display colorbar.

getimage - Get image data from axes.

image - Create and display image object.

imagesc - Scale data and display as image.

immovie - Make movie from multiframe indexed image.

imshow - Display image.

subimage - Display multiple images in single figure.

truesize - Adjust display size of image.

warp - Display image as texture-mapped surface.

zoom - Zoom in and out of image or 2-D plot.

3.实验步骤

a. Load cameraman.tif image from your hard disk (using function imread).

b. Show the image in a figure window (using function image or imshow).

c. Draw a brightness bar on the right side of the image(using function colorbar).

d. Get image data from the current figure(axes) (using function getimage).

e. Show the gray level of the image between 64 to 128 (using function imagesc).

f. Make a movie from a 4-D image (load mri, make the movie by immovie, then show movie

by function movie).

g. Draw the cameraman image on a cylinder (using function warp).

Question: how to show the cameraman like this

Requirement: write a report to do the experiment from a to g.

实验二傅立叶变换

1.实验目的

熟悉傅立叶变换的概念和原理;

理解Fourier变换的意义。

2.实验内容

用Fourier变换算法对图像进行Fourier变换;

评价人眼对图像幅频特性和相频特性的敏感度。

3.实验步骤

<1>产生如图所示图像f1(x,y)(128×128 大小,暗处=0,亮处=255),用MATLAB中的fft2函数对其进行FFT;

<2>同屏显示原图f1和FFT(f1)的幅度谱图;

x f1(x,y),重复以上过程,比较两幅图像的幅度谱的异同,

<3>若令f2(x,y)=(-1)y

简述理由;

<4>若将f2(x,y)顺时针旋转45度得到f3(x,y),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较;

<5>评价人眼对图像幅频特性和相频特性的敏感度。

4. 实验报告

<1>简述实验目的及原理;

<2>给出实验代码,并加以注释;

<3>对实验现象加以说明和讨论。

实验三图像增强及编程处理

1.实验目的

观察数字图像增强的效果;

熟悉数字图像增强的一般方法;

掌握数字图像增强的一般方法的Matlab编程实现。

2.实验内容

使用Photoshop观察数字图像增强的效果;

练习和掌握图像增强的Matlab编程。

熟悉下列模块函数

Image enhancement.

histeq - Read image file.

imadust - Adust imae intensity values or colormap.

Image noising.

imnoise - Add noise to an image.

Image filtering

medfilt2 - Perform 2-D median filtering.

ordfilt2 - Perform 2-D order-statistic filtering.

wiener2 - Perform 2-D adaptive noise-removal filtering.

3.实验步骤

<1> 使用Photoshop观察数字图像增强的效果

a. 对比度增强

1)在Photoshop中打开一黑白灰度图像文件。

2)在图像菜单中选直方图项,观察原始图像的直方图。

3)在图像菜单调整子菜单中选亮度/对比度项,调节对比度滑块,观察图像变化。

4)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。

b. 灰度变换

1)在Photoshop中打开一黑白灰度图像文件。

2)在图像菜单中选直方图项,观察原始图像的直方图。

3)在图像菜单调整子菜单中选反相项,观察图像变化。

4)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。

5)画出灰度变换曲线。

6)在编辑菜单中选返回项,恢复原始图像。

7)在图像菜单调整子菜单中阈值项,调节阈值色阶滑块,观察图像变化。

8)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。

9)画出灰度变换曲线。

c. 直方图均衡化

1)在Photoshop中打开一黑白灰度图像文件。

2)在图像菜单中选直方图项,观察原始图像的直方图。

3)在图像菜单调整子菜单中选色调均化项,观察图像变化。

4)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。

d. 图像平滑

1)在Photoshop中打开一黑白灰度图像文件。

2)在图像菜单中选直方图项,观察原始图像的直方图。

3)在滤镜菜单模糊子菜单中选进一步模糊项,观察图像变化。

4)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。

5)在编辑菜单中选返回项,恢复原始图像。

6)在滤镜菜单模糊子菜单中选高斯模糊项,观察图像变化。

7)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。

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

9)打开Toolboxes\Image Processing项,选Noise Reduction Filtering,并运行。

10)选图像Blood、噪声类型Salt & Pepper、滤波器类型Median、邻域3x3,比较原始图

像、受噪声污染图像、滤波后图像。

11)改变参数,重做(10)。

12)选其他图像,重做(10)-(11)。

13)思考何种滤波器对抑制何种类型噪声更有效,邻域大小对抑制噪声效果及图像模糊

程度的影响。

<2> 图像增强的Matlab编程

a. Load cameraman.tif image from your hard disk (using function imread).

b. Show the image in a figure window.

c. Show the histogram of the image (using function imhist).

d. Enhance the contrast of the image using histogram equalization.

e. Show the histogram of the image after processing.

f. Compare the qualities of two images and makes a discussion about them.

g. Add noises, such as gaussian, salt&pepper, speckle noise into the image respectively.

Compare with the influence of the different Means and Variance.

h. Remove the added noise from the image by function medfilt2, ordfilt2 and wiener2

respectively. Compare the qualities of the original images with the processed images and discuss the effect of the methods.

Requirement:

Write a report to do the experiment .

Make sure the report includes the discussion about the experiment.

If the report just is a copy from others, the report will have a zero mark.

数字图像处理实验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

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

数字图像处理 实验指导书 学院:通信与电子工程学院 专业:电子信息工程 班级: 学号: 姓名: 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)

数字图像处理的发展现状及研究内容概述

数字图像处理的发展现状及研究内容概述人类传递信息的主要媒介是语音和图像。据统计,在人类接受的信息中,听觉信息占20%,视觉信息占60%,所以作为传递信息的重要媒体和手段——图像信息是十分重要的,俗话说“百闻不如一见”、“一目了然”,都反映了图像在传递信息中独到之处。 目前,图像处理技术发展迅速,其应用领域也愈来愈广,有些技术已相当成熟并产生了惊人的效益,当前图像处理面临的主要任务是研究心的处理方法,构造新的处理系统,开拓更广泛的应用领域。 数字图像处理(Digital Image Processing)又称为计算机数字图像处理,它是指将数字图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和数字图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的数字图像处理的目的是改善数字图像的质量,它以人为对象,以改善人的视觉效果为目的。数字图像处理中,输入的是质量低的数字图像,输出的是改善质量后的数字图像,常用的数字图像处理方法有数字图像增强、复原、编码、压缩等。 1:数字图像处理的现状及发展 数字图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使数字图像处理成为一门引人注目、前景远大的新型学科。随着数字图像处理技术

的深入发展,从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。 人们已开始研究如何用计算机系统解释数字图像,实现类似人类视觉系统理解外部世界,这被称为数字图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。数字图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域。如今数字图像处理技术已给人类带来了巨大的经济和社会效益。不久的将来它不仅在理论上会有更深入的发展,在应用上意识科学研究、社会生产乃至人类生活中不可缺少的强有力的工具。 数字图像处理进一步研究的问题,不外乎如下几个方面: (1)在进一步提高精度的同时着重解决处理速度问题。如在航天遥感、气象云图处理方面,巨大的数据量和处理速度任然是主要矛盾之一。 (2)加强软件研究、开发新的处理方法,特别要注意移植和借鉴其他学科的技术和研究成果,创造新的处理方法。 (3)加强边缘学科的研究工作,促进数字图像处理技术的发展。如:人的视觉特性、心理学特性等的研究,如果有所突破,讲对团向处理技术的发展起到极大的促进作用。

数字图像处理

[1] 杨枝灵,王开.Visual C++ 数字图像获取、处理及实践应用.人民邮电出版社,2003 . [2] 李红俊,韩冀皖.数字图像处理技术及其应用.计算机测量与控制,2002.10(9):620~622 [3] W.K.Pratt.DIGITAL IMAGE PROCESSING.John wiley & Sons,inc.,1978 . Visual C++数字图像处理 作/译者:谢凤英赵丹培出版社:电子工业出版社 出版日期:2008年09月 ISBN:9787121067488 [十位:712106748X] 第1章 Visual C++数字图像编程基础主要介绍了使用Visual C++进行图像处理编程的一些基 本概念,其中包括调色板,设备相关位图,设备无关位图等等,除此之外,还设计了一个能用来操作DIB位图的ImgCenterDib类,后面的章节所介绍的算法都在这个ImgCenterDib类的基础上实现,从面向对象程序设计的角度来讲述这些图像处理算法的实现过程。 1 第2章 图像的灰度变换介绍图像灰度变换的概念、原理及典型算法,包括二值化和阈值处理,直方图的概念、绘制及直方图均衡,灰度的线性变换和灰度拉伸等。 58 第3章 图像的几何变换介绍几何变换的基本概念及典型算法,包括图像的缩放、旋转、平移、转置及镜像等变换,介绍图像几何校正的概念及典型校正算法,以及为了解决几何变换和校正问题所涉及的图像插值,包括近邻、双线性和立方卷积插值等。 109 第4章 图像的变换域处理变换域的处理方法使得各种图像处理技术得以在变换域空间实现,该部分内容重点介绍傅里叶变换与反变换,离散余弦变换和小波变换的基本原理与算法实现,并结合小波变换的多分辨分析特性,介绍小波变换在图像去噪中的应用实例。 161 第5章 图像的增强技术介绍图像获取过程中噪声的产生、噪声模型、信噪比的定义以及如何实现图像中随机噪声和高斯噪声的添加过程;同时,针对不同的应用需求和算法特点分别介绍了

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 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) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

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

《数字图像处理》实验指导书 编写: 罗建军 海南大学三亚学院 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

数字图像处理程序

数字图像处理程序

数字图像处理实验 图像处理实验(一)直方图 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特 征更加明显。 灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像 增强。 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)

数字图像处理实验

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

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

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彩色空间

数字图像处理实验报告

数字图像处理实验报告

实验一数字图像处理编程基础 一、实验目的 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); 四、实验效果

数字图像处理试题集2(精减版)资料讲解

第一章概述 一.填空题 1. 数字图像是用一个数字阵列来表示的图像。数字阵列中的每个数字,表示数字图像的一个最小单位,称为__________。 5. 数字图像处理包含很多方面的研究内容。其中,________________的目的是根据二维平面图像数据构造出三维物体的图像。 解答:1. 像素5. 图像重建 第二章数字图像处理的基础 一.填空题 1. 量化可以分为均匀量化和________________两大类。 3. 图像因其表现方式的不同,可以分为连续图像和________________两大类。 5. 对应于不同的场景内容,一般数字图像可以分为________________、灰度图像和彩色图像三类。 解答: 1. 非均匀量化 3. 离散图像 5. 二值图像 二.选择题 1. 一幅数字图像是:( ) A、一个观测系统。 B、一个有许多像素排列而成的实体。 C、一个2-D数组中的元素。 D、一个3-D空间的场景。 3. 图像与灰度直方图间的对应关系是:() A、一一对应 B、多对一 C、一对多 D、都不对 4. 下列算法中属于局部处理的是:() A、灰度线性变换 B、二值化 C、傅立叶变换 D、中值滤波 5. 一幅256*256的图像,若灰度级数为16,则该图像的大小是:() A、128KB B、32KB C、1MB C、2MB 6. 一幅512*512的图像,若灰度级数为16,则该图像的大小是:() A、128KB B、32KB C、1MB C、2MB 解答:1. B 3. B 4. D 5. B 6. A 三.判断题 1. 可以用f(x,y)来表示一幅2-D数字图像。() 3. 数字图像坐标系与直角坐标系一致。() 4. 矩阵坐标系与直角坐标系一致。() 5. 数字图像坐标系可以定义为矩阵坐标系。() 6. 图像中虚假轮廓的出现就其本质而言是由于图像的灰度级数不够多造成的。() 10. 采样是空间离散化的过程。() 解答:1. T 3. F 4. F 5. T 6. T 10. T 1、马赫带效应是指图像不同灰度级条带之间在灰度交界处存在的毛边现象(√) 第三章图像几何变换 一.填空题 1. 图像的基本位置变换包括了图像的________________、镜像及旋转。 7. 图像经过平移处理后,图像的内容________________变化。(填“发生”或“不发生”) 8. 图像放大是从小数据量到大数据量的处理过程,________________对许多未知的数据的估计。(填“需要”或“不需要”) 9. 图像缩小是从大数据量到小数据量的处理过程,________________对许多未知的数据的估计。(填“需要”或“不需要”) 解答:1. 平移7. 不发生8. 需要9. 不需要

数字图像处理论文

数字图像处理 题目指纹图像的分割技术 姓名 学号 院系 成绩 二O一一年十二月二十八日

指纹图像的分割技术 摘要 介绍了一种基于指纹多特征的指纹图像分割方法。首先简述了三种基于单一特征的指纹图像分割方法;基于灰度方差的指纹图象分割、基于方向信息的指纹图像分割和基于角度灰度均值的指纹分割的适用情况及利弊,然后介绍了将方向图法和灰度法两种分割方法合理结合起来的基于多特征的指纹图像分割方法,该方法首先将图像划分成多个不重叠的块,并计算各子块的灰度方差与均值,再根据各个图像块的灰度方差值与方差闲的关系,确定各子块是采用方向图法还是采用灰度法继续进行图像分割。实践证明,基于多特征的指纹图像分刻方法充分利用了指纹图像的特征,避免了单一特征的缺陷,从而能获取更加清晰质量更好的指纹图像为指纹的进一步识别提供了更好的条件。 关键词指纹图像图像分割分割技术 正文 自古至今人类中还没有发现不同的人具有相同的指纹, 并且同一指的指纹形和细节特征在一个人的一生中都保持不变。因此, 指纹一直被当作人的身份鉴定的可靠手段。 随着数字图像处理技术的不断发展以及图像处理必须具备的条件日益得到满足, 数字图像处理在计算机科学、信息学科、生物科学、医学等领域里得到广泛的重视和应用。而今科技也是相当的发达,因此,出现了一门独有的技术指纹图像分割技术。 图像分割所采用的基本原则是,使区域内部所考虑的特征或属性是相同或相近的,而这些特征或属性在相邻的区域中则不同,存在差异㈠。目前,国内外有许多指纹图像分割方法,从分割的操作方法和分割的精确程度上来分类,可以大致分成以下两类: 一类是按图块来进行操作的指纹图分割方法。唐良瑞㈡提出了基于D-S 证据理论的指纹图像分割方法,将D-S 证据理论运用到指纹图像的分割之中,利指纹识别的目的主要是确定两枚指纹是否相同,判断两枚指纹是否一致主要是判断指纹细节特征即纹线的突然终断点和叉点是否匹配。用图像块的方向和对比度信息实现了指纹图像分割。Mehtre㈢根据分块图像的梯度分布情况和灰度方差将这些块分成前景和背景。X. Chen㈣使用线性分类器对指纹图像块进行分类,从而实现了图像的分割。Q.Ren㈤提出了基于特征信息统计和基于前景边缘线搜索的两种指纹图像分割方法。 另一类是按像素点来进行操作的指纹图分割方法。蒋景英㈥将遗传算法和方向图相结合,实现了指纹图像的分割。A. M. Bazen㈦通过对像素点特征定义与分类,使用关于CMV 三个指标的线性分割器,将图像中的前景区和背景区分离。何余良㈧提出了一种基于马尔科夫随机场的指纹图像分割方法。 值得注意的一点是,虽然已经出现各种各样的图像分割方法,但至今为止还没有发现某一种对任何图像都有良好效果的图像分割算法,也就是说任何一种分

数字图像处理实验

学院计算机与通信工程学院专业生物医学工程专业 班级51111 学号5111133 姓名杨静 指导教师贾朔 2014年04月21日

实验一图像的基本运算 一、实验目的: 1、掌握图像处理中的点运算、代数运算、逻辑运算和几何运算及应用。 2、掌握各种运算对于图像处理中的效果。 二、实验内容: 1、(1)选择一幅图像lena8.jpg,设置输入/输出变换的灰度级范围,a=0.2,b=0.6,c=0.1,d=0.9. (2)设置非线性扩展函数的参数c=2. (3)采用灰度级倒置变换函数s=255-r进行图像变换 (4)设置二值化图像的阈值,分别为level=0.4,level=0.7 解:参考程序如下: I=imread('C:\lena8.jpg'); figure; subplot(2,3,1); imshow(I); title('原图'); J=imadjust(I,[0.3;0.6],[0.1;0.9]); %设置灰度变换的范围 subplot(2,3,2); imshow(J); title('线性扩展'); I1=double(I); %将图像转换为double类型 I2=I1/255; %归一化此图像 C=2; K=C*log(1+I2); %求图像的对数变换 subplot(2,3,3); imshow(K); title('非线性扩展'); M=im2bw(I,0.5); M=~M; %M=255-I; %将此图像取反 %Figure subplot(2,3,4); imshow(M); title('灰度倒置'); N1=im2bw(I,0.4); %将此图像二值化,阈值为0.4 N2=im2bw(I,0.7); %将此图像二值化,阈值为0.7 subplot(2,3,5); imshow(N1); title('二值化阈值0.4'); subplot(2,3,6); imshow(N2); title('二值化阈值0.7');

数字图像处理实验一

大学实验报告 学院:计算机科学与技术专业:信息安全班级:131 姓名学号实验组实验时间2016/4/22 指导教师成绩 实验项目名称图像基本操作 实验目的 利用MATLAB软件,熟悉图像的数据矩阵操作、图像的类型转换及图像的存储等基本操作。 1.熟悉图像矩阵的基本操作 2.掌握图像数据类型转换及图像类型转换 3.掌握图像文件的读写 4.掌握图像及灰度图像直方图的显示 5.掌握图像缩放和旋转 实验要求 利用MATLAB软件,熟悉图像的数据矩阵操作、图像的类型转换及图像的存储等基本操作。 1.熟悉图像矩阵的基本操作 2.掌握图像数据类型转换及图像类型转换 3.掌握图像文件的读写 4.掌握图像及灰度图像直方图的显示 5.掌握图像缩放和旋转 实验原理1.关于图像矩阵 MATLAB中图像数据以矩阵方式的存储。所以有必要学会关于矩阵的操作,由于篇幅有限,这里只作简要的介绍。 生成矩阵的函数有: eye 生成单位矩阵 ones全1阵 zeros 全零阵 rand 均匀随机阵 randn 正态随机阵 2.图像数据类型及图像类型 2.1 图像数据类型转换 MATLAB中图像数据矩阵的存储方式为双精度(double)类型即64位浮点数。而存储图像时MATLAB有时采用无符号整型(uint8)即图像矩阵中的每个数据占用一个字节。由于大多数运算和函数(比如最基本的矩阵加减运算)都不支持uint8类型,所以运算时通常要将图像转换成 double型。 函数double将数据转换为双精度浮点类型,调用格式为: X64=double(x8) /256 2.2 图像类型及转换

在MATLAB中,一幅图像可能包含一个数据矩阵,也可能有一个颜色映像表矩阵。MATLAB图像处理工具箱支持四种图像类型,其区别在于数据矩阵元素的不同含意。它们是: ● 真彩色图像 ● 索引图像 ● 灰度图像 ● 二值图像 (1)真彩色图像 真彩色图像又称RGB图像,对于一个尺寸为M×N的彩色图像来说,在MATLAB中则存储为一个M×N×3的多维数组,像素的颜色由保存在像素位置上的R、G、B的强度值的组合来确定。如果需要知道图像A中(x,y)处的像素值,则可以使用这样的代码A(x,y,1:3)。 (2)索引图像 MATLAB中的索引图像包含两个结构,一个是调色板,一个是图像数据矩阵。调色板是一个m×3的色彩映射矩阵,矩阵的每一行都代表一种色彩,与真彩色图像相同,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定的颜色。调色板通常和索引图像存在一起,当读入图像时,MATLAB同时加载调色板和图像。 (3)灰度图像 灰度图像就是只有强度信息,而没有颜色信息的图像。存储灰度图像只需要一个数据矩阵,矩阵的每个元素表示对应位置像素的灰度值,灰度图像的数据类型可以是doubIe类型,这时值域为[0,1],也可以uint8类刑,值域是[0,255]。 (4)二值图像 二值图像就是只有黑白两种值的图像,我们可以把它看作是特殊的灰度图像。二值图像只需一个数据矩阵来存储,每个像素只取0或1。 MATLAB提供了若干函数,用于图像类型的转换,这些函数如下所示: ●rgb2gray 将RGB图像转换成灰度图像 ●Gray2ind 将灰度图像转换成索引图像 ●Im2bw 设定阈值将图像转换为二值图像 ●Im2double 将图像数据阵列转换为double型 ●Im2unit8 将图像数据阵列转换为unit8型 ●Im2unit16 将图像数据阵列转换为unit16型 ●Ind2gray 将索引图像转换为灰度图像 ●Ind2rgb 将索引图像转换成真彩色图像 2.3 图像读写及显示 MATLAB为用户提供了专门的函数以从图像格式的文件中读写图像数据。 (1)图像文件的读取 利用imread函数可以完成图像文件的读取操作,常见调用格式为: A = imread(FILENAME,FMT) 其作用是将文件名用字符串FILENAME表示的、扩展名用字符串FMT(表示图像文件格式)表示的图像文件中的数据读到矩阵A中。如果FILENAME所指的为灰度图像,则A为M×N的二维矩阵;如果FILENAME所指的为RGB图像,则A为M×N×3的三维矩阵。 (2)图像文件的写入(保存) 利用imwrite函数完成图像的写入操作,也完全支持上述各种图像文件的格式,其常用的调用格式为: imwrite(A,FILENAME,FMT)

数字图像处理实验一

数字图像处理—实验一 一.实验内容: 图像灰度变换 二.实验目的: 学会用Matlab软件对图像灰度进行变换;感受各种不同的灰度变换方法对最终图像效果的影响。 三.实验步骤: 1.获取实验用图像:rice.jpg. 使用imread函数将图像读入Matlab。 程序: clc;clear; figure; subplot(4,4,1); i = imread('rice.png'); i = im2double(i); imshow(i);title('1'); 2.产生灰度变换函数T1,使得: 0.3r r < 0.35 s = 0.105 + 2.6333(r – 0.35) 0.35 ≤r ≤0.65

1 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg进行处理,使用imwrite函数保存处理后的新图像。程序: subplot(4,4,2); r=[0:0.001:1]; s=[r<0.35].*r*0.3+[r<=0.65].*[r>=0.35].*(0.105+2.6333*(r-0.35))+[r>0.65].*(1 +0.3*(r-1)); plot(r,s);title('2p'); subplot(4,4,3); T1=[i<0.35].*i*0.3+[i<=0.65].*[i>=0.35].*(0.105+2.6333*(i-0.35))+[i>0.65].*( 1+0.3*(i-1)); imshow(T1);title('2i'); imwrite(T1,'rice_T1.jpg','jpg');

3.产生灰度变换函数T2,使得: 用T2对原图像rice.jpg进行处理,使用imwrite保存处理后的新图像。 %3 subplot(4,4,4); r = [0:0.001:1];

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 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()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

相关文档
最新文档