数字图像是二维图像用有限数字数值像素的表示。通常像素在计算机中保存为二维整数数组的光栅图像,这些值经常用压缩格式进行传输和存储。
二值图像:图像中每个像素的亮度值仅可以取自0或1的图像,因此也称为1bit图像
灰度图像:图像中每个像素可以由0(黑)到255(白)的亮度值表示。0~255之间表示不同的灰度阶
彩色图像:彩色图像主要分为两种类型,RGB和CMYK。其中RGB的彩色图像是由三种不同颜色成分组合而成(R红色,G绿色,B蓝色),而CMYK类型的图像则是由四个颜色成分组成(C青,M品,Y黄,K黑),CMYK类型的图像主要用于印刷行业
1.matlab中图像的读取
在matlab中利用函数imread()来实现图像文件的读取操作
A = imread(filename)
A = imread(filename,fmt)
A = imread(____,idx)
A = imread(____,Name,Value)
[A,map] = imread(____)
[A,map,transparency] = imread(____)
A = imread(filename)从filename指定的文件读取图像,并从文件内容推断出其格式。如果filename为多图像文件,则 imread读取该文件中的第一个图像
2.图像的显示
在matlab中提供的图像显示函数包括imshow()、image()、imagesc()
函数imshow()的语法格式如下:
imshow(I)
imshow(X,map)
imshow(filename)
imshow(I,[low,high])
imshow(____,Name,Value)
himage=imshow(____)
imshow(I,[low,high])表示用指定的灰度范围[low,high]显示灰度图像I,在显示的灰度图像中,灰度值小于等于low的用黑色表示,灰度值大于等于high的都用白色表示,介于low和high之间的用其灰度值的默认值的中间色调显示,如果用一个空矩阵[ ]来代替[low,high],imshow将使用[min(I(:)),max(I(:)]作为第二个参数
image从数组显示图像,
函数image()的语法如下:
image(C)
image(x,y,C)
image('CData',C)
image('XData',x,'YData',y,'CData',C)
image(____,Name,Value)
image(ax,____)
im =image(____)
image(C)会将数组C中的数据显示为图像。C的每个元素指定图像的1个像素的颜色,生成的图像是一个m*n像素网格,其中m和n分别是C中的行数和列数,这些元素的行索引和列索引确定了对应像素的中心;
image(x,y,C)指定图像位置,使用x和y可指定与C(1,1)和C(m,n)对应的边角位置。要同时指定两个边角,请将x和y设置为二元素向量,要指定第一个边角并让image确定另一个,请将x和y设置为标量值,图像将根据需要进行拉伸和定向
imagesc()函数的用法格式与image()基本类似
3.图像的输出
matlab利用函数imwrite()来实现图像文件的输出和保存操作,其语法格式为:
imwrite(A,filename)
imwrite(A,map,filename)
imwrite(____,fmt)
imwrite(____,Name,Value)
imwrite(A,filename)将图像数据A写入到filename指定的文件,并从扩展名推断出文件格式,imwrite在当前文件夹中创建新文件。