数字图像处理实验一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
姓 名: 吴剑 院 系: 计算机科学与
技术学院
专 业: 计算机科学与
技术
年 级: 12级
图像生成及取反
学号:E01214180
指导老师:涂铮铮
2014年10月22日
目录
一、实验目的 (3)
二、实验内容 (3)
三、程序代码 (4)
四、实验结果 (5)
五、小结: (7)
六、常用函数: (8)
一、实验目的
了解matlab有关图像的基本操作,如图像的读写,显示等。熟悉调试环境。
二、实验内容
1.Matlab workspace中生成一幅大小为512×512像素的8
位灰度图, 背景为黑色,中心有一个宽40像素高20像素
的白色矩形。如下图所示:
2.将这幅图像保存为文件test.bmp。
3.从文件test.bmp中读出图像到变量I。
4.在Matlab图形界面中显示变量I所代表的图像。
5.将获得的图像的格式分别转换为“*.tif”、“*.jpg”的格式保存,
检查图像文件数据量的大小。
6.将图片保存或拷贝到MATLAB程序组根目录的“work”文
件夹中,以便后面的实验利用。
7.将test.bmp 编程取反,观察效果。
三、程序代码
Array=zeros(512,512);
Array(256-10:256+10,256-20:256+20)=255;
img=mat2gray(Array);
imshow(img);
imwrite(img, 'text.bmp');
I=imread('C:\Documents and Settings\AHUCC\桌面\image\text.bmp');
imshow(I);
size(I)
imwrite(img, 'text.tif');
a=imread('C:\Documents and Settings\AHUCC\桌面\image\text.tif');
size(a)
imwrite(img, 'text.jpg');
s=255-Array;
imshow(s);
四、实验结果
(text.bmp)
(text.jpg)
(text.tif)
取反后的图像为:
五、小结:
通过此次的实验,让我了解了MATLAB的一些简单的使用,比如说图像的读写和显示,分别用imread(),imwrite(),imshow ();同时也让我对数字图像处理这门课产生了浓厚的兴趣,让我感觉到数字图像处理的魅力所在;同时也让我知道自己所要学习的东西还有很多很多,自己知识实在是太少太少了,能力还有很大的欠缺。希望能通过数字图像处理实验这门课程,能让自己
的能力有所提升,知识储备更加丰富!
六、常用函数:
读写图像文件
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);
3 colorbar
colorbar函数用显示图像的颜色条,如: i=imread('e:\w01.tif'); imshow(i); colorbar; 4 figu
re
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%
3 imresize 改变图像的大小
I=imresize(j,[m n])将图像j大小调整为m行n列
图像运算
1 imadd
两幅图像相加,要求同样大小,同种数据类型 Z=imadd(x,y)表示图像x+y
2 imsubstract
两幅图像相减,要求同样大小,同种数据类型 Z=imsubtract(x,y)表示图像x-y
3 immultiply
Z=immultiply(x,y)表示图像x*y 4 imdivide
Z=imdivide(x,y)表示图像x/y