数字图像处理实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字图像处理》
实验报告
学院:信息工程学院
专业:电子信息工程
学号:
:
2015年6月18日
目录
实验一图像的读取、存储和显示 (2)
实验二图像直方图分析 (6)
实验三图像的滤波及增强 (15)
实验四噪声图像的复原 (19)
实验五图像的分割与边缘提取 (23)
附录1 MATLAB简介 (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 a
b 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 =+*≥;