实验1 图像的基本操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)
实验名称图像的基本操作课程名称数字图像处理课程号
学院(系) 信息学院专业电子信息工程班级电子1103班
学生姓名杜嘉星学号201011611308 实验地点实验日期
实验1 图像的基本操作
一、实验目的:
学会用MA TLAB工具箱中的函数对图像进行读取、显示和保存等的基本操作。
二、实验内容:
1、仔细阅读MA TLAB帮助文件中有关函数imread, size, whos, imshow, imwrite的使用
说明,能充分理解其使用方法。
2、并能运用以上函数完成相应的实验操作。
三、实验要求:
掌握并能熟练应用上述函数。实验报告需要提交每步处理的命令并回答相关的问题。
四、实验相关知识:
学习有关函数的使用
imread
使用函数imread可以将图像读入MA TLAB环境,imreaed的语法为imread(’filename’),其中filename是一个含有图像文件全名的字符串(包括任何可用的扩展名)。例如,
f=imread(‘chestxray.jpg’);
要想读取指定路径中的图像,最简单的办法就是在filename中输入完整的或相对的。
例如,f=imread(‘D:\myimages\chestxray.jpg’);
size
函数size可给出一幅图像的行数和列数。用如下格式可自动确定一幅图像的大小:[M,N]=size(f); 该语法将返回图像的行数(M)和列数(N)。
whos
函数whos可以显示出一个数组的附加信息。语句为:whos f
imshow
在MA TLAB桌面上图像一般使用函数imshow来显示,该函数的基本语法为:imshow(f,
G)。其中,f是一个图像数组,G是显示该图像的灰度级数。若省略G,则默认的灰度级数是256。语法imshow(f, [low high])会将所有小于或等于low的值都显示为黑色,所有大于或等于high的值都显示为白色。语法imshow(f,[ ])可以将变量low设置为数组f的最小值,将变量high设置为数组f的最大值。这一形式在显示一幅动态范围较小的图像或既有正值又有负值的图像时非常有用。
imwrite
函数imwrite可以将图像写到磁盘上,该函数的语法为imwrite(f, ’filename’)。该语法结构中,filename中包含的字符串必须是一种可识别的文件格式扩展名。若filename中不包含路径信息,则imwrite会将文件保存到当前的工作目录中。另外一种常用的只适用于JPEG 图像的函数用法是:imwrite(f, ’filename.jpg’, ’quality’, q),q是一个0到100间的整数,q越小,图像退化就越严重。
五、实验步骤:
1、读入和显示图象
(1)从硬盘中读入一幅名为1a.tif的图像,用whos提取该图像的基本信息,并使用imshow将其显示出来。
(2)读入图像1b.tif,并使用imshow显示。这幅图像的动态范围很小,但可以使用下列语句修正其显示结果:imshow(h, [ ])。写出两次图像显示效果有什
么差别。
2、保存图像:读入1c.tif,分别以q=50、25、15和0将该图像用imwrite函数保存到硬盘上,文件名分别为1c50.jpg,1c25.jpg,1c15.jpg,1c0.jpg。写出q值对保存的图像有何影响。
3、用MATLAB语言编程读入一幅24bit的彩色图像,将其转化成灰度图像、二值图像。并将所有图像保存。
五丶程序代码与图片
读取图片
clear all;
close all;
clc;
f=imread('D:\image\avril.jpg'); %读取图片并显示
[m,n]=size(f);
whos f;
imshow(f);
Size代码结果:
Name Size Bytes Class
f 559x484x3 811668 uint8 array Grand total is 811668 elements usin
g 811668 bytes
Imshow(h,[ ])的图片显示结果与原图的差别:
clear all;
close all;
clc;
f=imread('D:\image\avril.tif'); %读取图片并显示
subplot(131);
imshow(f);
xlabel('(a) 原图');
g=imread('D:\image\avril.tif');
subplot(132),
imshow(g);
xlabel('(b) (f,[])')
imwrite(f, ’filename.jpg’, ’quality’, q)q的取值对图像的影响:clear all;
close all;
clc;
f=imread('D:\image\avril.jpg'); %读取图片并显示
imwrite(f,'D:\image\Ic50.jpg','quality',50);
imshow(f);
Ic0
Ic15
Ic25
Ic50
灰度图像:
f=rgb2gray(imread('D:\image\avril.jpg')); imshow(f)
imwrite(f,'huidu.jpg');
二值图像
a=imread('D:\image\avril.jpg');
b=rgb2gray(a);
level=graythresh(b);
c=im2bw(b,level);
imshow(c);