一、实验目的
- 了解Matlab的基本功能及操作方法
- 练习图像读写和显示函数的使用方法
- 掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息
- 熟悉常用的图像文件格式与格式转换;
二、实验环境
- PC计算机
- MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)
- 实验所需要的图片
一幅数字图像在Matlab中用一个矩阵来表示,对数字图像进行处理,实质上就是对特定的图像矩阵进行变换的过程
Imread()函数
imread是计算机语言中的一个函数,用于读取图片文件中的数据。在matlab的命令窗口中输入doc imread或者help imread即可获得该函数的帮助信息。
使用方法:i=imread('E:\ins风\pikaqiu.tif')
Whos()函数
whos用于列出当前工作空间中所有变量,以及它们的名字、尺寸(比如数组的行列维数)、所占字节数、属性等信息。这些信息都显示在工作空间窗口中。
使用方法:whos i
Imshow()函数
imshow是 matlab 中显示图像的函数,在matlab的命令窗口中输入doc imshow或者help imshow即可得到关于该函数的帮助信息。 用指定的灰度范围 [low high]显示 灰度图像 I。 显示结果,图像中灰度值等于或低于low的都将用黑色显示,而灰度值大于等于high的都显示为白色,介于low和high之间的用其灰度级的默认值的中间色调显示。
使用方法:imshow (i)
Size()函数
size (A)函数是用来求矩阵的大小的。. 如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。. 其中r=size (A,1)该语句返回的是矩阵A的行数, c=size (A,2) 该语句返回的是矩阵A的列数.
使用方法:A=size(i)
Imfinfo函数
imfinfo是MATLAB函数,在图像处理中,该函数用于获取一张图片的具体信息
使用方法:imfinfo('E:\ins风\pikaqiu.tif')
Imwrite函数
将图片写入到指定文件夹,或者将一个数组转换成图片并写入到指定文件夹
使用方法:imwrite(i,'E:\ins\yasuopikaqiu.jpg','quality',10)
Subplot函数
subplot是 MATLAB 中的 函数 ,是将多个图画到一个平面上的工具。 在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息。 subplot是 MATLAB 中的函数。 使用方法:subplot(m,n,p)或者subplot(m n p)。 subplot是将多个图画到一个平面上的工具。 其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表示2行图。 p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。 在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息
使用方法:subplot(2,2,1)
Figure函数
MATLAB中可以通过figure函数创建多个图形窗口对象来安置和显示各种句柄图形对象,其调用格式如下。 ·h0=figure (属性名1,属性值1,属性名2,属性值2,…):按指定的属性来创建图形窗口。 ·不带参数的figure函数可以创建一个新的图形窗口,并将其设为当前图形窗口, MATLAB一般返回一个整数数值作为该图形窗口的句柄。
使用方法:subplot(2,2,2)
figure(1)
Im2bw函数
matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把 灰度图像 (grayscale image)转换成 二值图像 。
使用方法:z=im2bw(y)
rgb2gray函数
将真彩色图像转换为灰度图像。 有关此函数的更多帮助信息,请在matlab命令窗口中键入docrgb2gray或helprgb2gray。 调用方法:I=rgb2gray(RGB)将真彩色RGB图像转换为灰色图像。 (RGB不变)NewMap=rgb2gray(map)返回灰度调色板。
使用方法:RGB = imread('E:\ins风\rose.jpg');%将图像读入工作区
mysize=size(RGB)
Y = rgb2gray(RGB);%将图像灰度化
mysize=size(Y)
imshow(Y)%显示灰度图像
imwrite(Y,'E:\ins风\rose1.jpg')
Title函数
在MATLAB中,title函数用来为图像设置标题,其中,title函数也可以设置标题的大小,位置等。
使用方法:title('灰度图片')
五、实验步骤和结果
- 利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;
i=imread('E:\ins风\pikaqiu.tif')
- 利用whos 命令提取该读入图像flower.tif的基本信息;
whos i
- 利用imshow()函数来显示这幅图像;
imshow (i)
- 利用size函数得到图像的行列数;
A=size(i)
- 用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
imfinfo('E:\ins风\pikaqiu.tif')
- 利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’, q), q取0-100。
imwrite(i,'b.jpg','quality',10)
- 同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。
*此处寻得一张图片,将其转换为灰度图片,具体实现如下:
- 用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
- 将多幅图像显示在一个页面中
- 为显示的图像添加图名
注意:将每一步的函数执行语句和实验结果写入实验报告。
六、实验思考
通过自编写Matlab的系统函数了解了函数内部的具体实现,对图像类型转换、代数原运算的原理加深理解;
后通过查阅资料发现代数运算还能够达到去除背景、降噪,图像增强等效果,不过在实验过程中没有去实现。所以实验原理虽然不是很复杂,但如果从其他角度来思考,简单的运算可以实现的功能可以有很多,还需要在之后的实验中加强思考能力。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)