1-12

对一副图像进行采样之后,可以得到一副M行,N列的图像,我们称这幅图像的大小是M*N。x是从0到M-1的整数,y是从0到N-1的整数。

图像处理工具箱中用(r,c)而不是(x,y)来表示行和列。其次,这个坐标系统的原点是在(r,c)=(1,1),r是从1到M的整数,c是从1到N的整数。同时,工具箱使用一种较少的坐标约定,称为空间坐标,以x表示列,以y表示行。

图像(image)和像素(pixel)这两个术语将用来表示数字图像及其元素。

用imread将图像读入matlab环境中,语法为:

imread('filename')

此处,filename是含有图像文件全名的字符串(包含任何可用的扩展名)。举例:

f=imread('chestxray.jpg');

使用imshow函数在matlab的桌面来显示图像,imshow的基本语法是:

imshow(f)

其中,f是图像数组,举例,从磁盘中读取rose_512.tif的图像并且用imshow函数进行显示:

f=imread('rose_512.tif');
imshow(f);

图窗编号最终显示在得到的图窗的左上部,如果另一幅图像随后用imshow来表示,matlab就用新图像来取代图窗中的图像。为了保留第1幅图像并且输出第二幅图像,可以使用figure函数

figure,imshow(g)

使用imwrite函数将图像写入当前目录下,语法如下:

imwrite(f,'filename');

函数imwrite还可以有其它的参数,具体要取决于要写入的文件格式。我们大部分的工作不是处理JPEG图像就是处理TIFF图像,因此我们把注意力放在这两种格式上。

imwrite(f,'filename.jpg','quality',q);

其中,q是介于0到100的整数,q越小,图像的退化就越严重。
仅仅适用于imwrite的更常用的imwrite语法为:

imwrite(g,'filename.tif','compression','parameter','resolution',[colres rowres])

parameter可以采用下列值:‘none’(指出没有压缩)、‘packbits’(默认的非二值图像)、‘fax3’(仅针对二值图像,为默认值)、‘fax3’(仅针对二值图像)和‘fax4’。
1*2数组[colres rowres]包含两个参数,以每单位的点数给出列分辨率和行分辨率。用单个标量res指定分辨率相当于写成[res,res]

unit8:无符号8比特整数,范围是[0,255],(每个像素一个字节)
logical:值为0和1(每像素一个字节)

工具箱支持4中图像类型:灰度、二值、索引、RGB图像。

灰度图像

灰度图像是数据矩阵,矩阵的值表示灰度的浓淡。当灰度图像的元素是uint8或者是uint16的时候,分别表示范围是[0,255]或者是[0,65535]的整数值。如果是double或者是single类,值就是浮点数。double或者是single灰度图像的值通常被归一化标定为[0,1]范围内,但是也可以使用其他范围的值。

二值图像

二值图像是取值只有0和1的逻辑数组。用logical函数可以把数值数组转化为二值数组。举例,如果A是由0和1组成的数值数组,那么就可以使用B=logical(A)来创建逻辑数组B
如果A中含有除了0和1之外的其他元素,那么logical函数可以把非0元素转化为1,将所有0值转化为0.

用来检测数组是否为逻辑类:islogical(C)

使用类转换语法,可以将逻辑数组转化为数值数组:

B=class_name(A)

其中,class_name是im2uint8、imuint16、im2double、im2single或者是im2gray.
im2gray可以将图像转换为标定为[0,1]范围的double类数组

g=imgray(A,[Amin,Amax])

其中,图像g具有范围为0(黑)到1(白)的值。特定参数Amin和Amax使得A中小于Amin的值变为0,大于Amax的值变为1.
如果用g=imgray(A)
可以独立于输入的类,把整个输入值的范围标定为[0,1],这样可以消减裁剪步骤。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值