Matlab图像处理(1)
2017-11-23 14:20
162 查看
[align=center]入门基础知识
[/align]
[b]Matlab图像类型[/b]
1、亮度图像(灰度图像):数据矩阵I表示灰度值,如果是uint8类型,数值范围可以是[0,255];如果是uint16类型,数值范围为[0,65536]
2、二值图像:在MATLAB数组中只有0和1两个取值。
3、索引图像:包括一个数据矩阵X(整数,对应MAP中的行号)和色图阵MAP
4、RGB图像:包括一个m*n*3的数据矩阵
filname:图像存放地址+名称 fmt:文件格式(‘bmp’ Windows位图格式;‘jpg’or‘jpeg’ 联合图像专家组格式;‘tif’or‘tiff’ 标志图像文件格式;‘gif’ 图形交换格式;‘pcx’ Windows画刷格式;‘png’ 可移动网络图形格式;‘xwd’ X Window Dump格式)
图像文件的写入(保存):将A写入finame.fmt
1、imwrite(A,‘filename’,‘fmt’)或imwrite(A,‘filename.fmt’) 参数含义同上
另一种常用但只适用于JPEG图像的imwrite函数语法为
2、imwrite(f,'filename.jpg','quality',q)
其中q是一个在0-100之间的整数,为图像质量因数。
图像的显示
1、 imshow函数:
imshow(I,G) :G是显示该图像的灰度级数,若将G省略,则默认的灰度级数为256
imshow(I,[low high]) :用于显示灰度图像,其中I为灰度图像的数据矩阵,a、b为灰度级数目,显示灰度级从a到b之间的部分,如果不写的话默认值为0-255。会将所有小于或等于low的值都显示为黑色,所有大于或等于high的值都显示为白色。界于low和high之间的值将以默认的级数显示为中等亮度值。
imshow(I,[]) :显示区间为最小值和最大值之间。该函数用来显示动态范围较小的图像时非常有用。
如果不希望在显示图像之前装载图像,那么可以使用后面这个格式直接进行图像文件的显示:imshow filename.fmt
2、image(X)
image函数是附带坐标的图像显示函数,因为image函数是将图像矩阵当做索引图像或者RGB图像来显示,显示灰色图像很不方便。其中,X为输入图像,可以是索引图像的M*N的二维图像矩阵,也可以表示真彩RGB图像的M*N*3的矩阵,也可以是文件。
3、显示多幅图像:
显示多幅图像最简单的方法就是在不同的图形窗口中显示它们。imshow总是在当前窗口中显示一幅图像,如果用户想连续显示两幅图像,那么第二幅图像就会替代第一幅图像。为了避免图像在当前窗口中的覆盖现象,在调用imshow函数显示下一幅图像之前可以使用figure命令来创建一个新的窗口。例如:
imshow(1);
figure, imshow(2);
figure, imshow(3);
或者
figure(1);
imshow('1.jpg');
figure(2);
imshow('2.jpg');
subplot(m,n,p);
有时为了便于在多幅图像之间进行比较,需要将这些图像显示在一个图形窗口中。达到这一目的有两种方法:一种方法是联合使用imshow和subplot函数,但此方法在一个图形窗口只能有一个调色板;另一种方法是联合使用subimage和subplot函数,此方法可在一个图形窗口内使用多个调色板。
subplot函数将一个图形窗口划分为多个显示区域,subplot函数将图形窗口划分为m(行)×n(列)个显示区域,并选择第p个区域作为当前绘图区。
例如:
subplot(2,1,1);
imshow 1.jpg;
subplot(2,1,2);
imshow 2.jpg;
或者
x1=imread('1.jpg');
x2=imread('2.jpg');
subplot(1,2,1),subimage(x1)
subplot(1,2,2),subimage(x2)
subimage函数通常可以与subplot函数配合使用来实现一个图形窗口中显示多幅图像的效果。其中,X为二维图像矩阵,map为X使用的颜色查找表,如果是灰色图像则无此参数。
图像文件信息的查询
imfinfo函数:
用于查询图像文件的有关信息,详细地显示出图像文件的各种属性。其语法格式为:info=imfinfo(‘filename’,‘fmt’)或info=imfinfo(‘filename.fmt’)或imfinfo filename.fmt
imfinfo函数获取的图像文件信息依赖于文件类型的不同而不同,但至少应包含以下内容:
文件名。如果该文件不在当前目录下,还包含该文件的完整路径。
文件格式。
文件格式的版本号。
文件最后一次修改的时间。
文件的大小。以字节为单位。
图像的宽度。
图像的高度。
每个像素所用的比特数。也叫像素深度。
图像类型。即该图像是真彩色图像、索引图像还是灰度图像
图像类型之间的转化
1、将图片转化成灰度图: A=rgb2gray(filename)
2、通过设定亮度将阈值灰度、真彩、索引图像转换为二值图像(所谓二值图像, 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。)。使用im2bw函数。
BW = im2bw(I,level) :将灰度图像 I 转换为二进制图像。输出图像 BW 将输入图像中亮度值大于 level 的像素替换为值1 (白色),其他替换为值0(黑色)。你指定 level 在 [0,1]之间,不用管输入图像的等级。函数graythresh 能用来自动计算变量 level 。如果你不指定 level ,im2bw 使用 0.5。
BW = im2bw(X,map,level)
将颜色表为 map 的索引图像 X 转换为二进制图像。
BW = im2bw(RGB,level) :将 RGB 真彩图像转换为二进制图像。Level是归一化的阈值,值域为[0,1]。Level可以由函数graythresh(I)来计算。
(如果输入图像不是灰度图像, im2bw 首先将图像转换为灰度图像,然后通过阈值将灰度图像转换成二进制图像。)
3、将灰度图片变成负片
负片是指将原灰度图白色的地方变成黑色,黑色的地方变成白色。也就是将0变成255,255变成0
J = imadjust(I,[low_in; high_in],[low_out; high_out])
其中,I为原灰度图像,low_in,high_in为输入图像的低和高灰度级,设置为[0,1]表示从0~255的归一化,low_out,high_out为输出图像的低高灰度级。
若是想将图片转换为负片,那么将[low_in; high_in]设置为[0,1],将[low_out; high_out]设置为[1,0]。即原来输入为0的地方变成1输出,输入为1的地方变成0输出。
[/align]
[b]Matlab图像类型[/b]
1、亮度图像(灰度图像):数据矩阵I表示灰度值,如果是uint8类型,数值范围可以是[0,255];如果是uint16类型,数值范围为[0,65536]
2、二值图像:在MATLAB数组中只有0和1两个取值。
3、索引图像:包括一个数据矩阵X(整数,对应MAP中的行号)和色图阵MAP
4、RGB图像:包括一个m*n*3的数据矩阵
图像文件的读取
A=imread(‘filename’,‘fmt’)或I=imread(‘filename.fmt’)filname:图像存放地址+名称 fmt:文件格式(‘bmp’ Windows位图格式;‘jpg’or‘jpeg’ 联合图像专家组格式;‘tif’or‘tiff’ 标志图像文件格式;‘gif’ 图形交换格式;‘pcx’ Windows画刷格式;‘png’ 可移动网络图形格式;‘xwd’ X Window Dump格式)
图像文件的写入(保存):将A写入finame.fmt
1、imwrite(A,‘filename’,‘fmt’)或imwrite(A,‘filename.fmt’) 参数含义同上
另一种常用但只适用于JPEG图像的imwrite函数语法为
2、imwrite(f,'filename.jpg','quality',q)
其中q是一个在0-100之间的整数,为图像质量因数。
图像的显示
1、 imshow函数:
imshow(I,G) :G是显示该图像的灰度级数,若将G省略,则默认的灰度级数为256
imshow(I,[low high]) :用于显示灰度图像,其中I为灰度图像的数据矩阵,a、b为灰度级数目,显示灰度级从a到b之间的部分,如果不写的话默认值为0-255。会将所有小于或等于low的值都显示为黑色,所有大于或等于high的值都显示为白色。界于low和high之间的值将以默认的级数显示为中等亮度值。
imshow(I,[]) :显示区间为最小值和最大值之间。该函数用来显示动态范围较小的图像时非常有用。
如果不希望在显示图像之前装载图像,那么可以使用后面这个格式直接进行图像文件的显示:imshow filename.fmt
2、image(X)
image函数是附带坐标的图像显示函数,因为image函数是将图像矩阵当做索引图像或者RGB图像来显示,显示灰色图像很不方便。其中,X为输入图像,可以是索引图像的M*N的二维图像矩阵,也可以表示真彩RGB图像的M*N*3的矩阵,也可以是文件。
3、显示多幅图像:
显示多幅图像最简单的方法就是在不同的图形窗口中显示它们。imshow总是在当前窗口中显示一幅图像,如果用户想连续显示两幅图像,那么第二幅图像就会替代第一幅图像。为了避免图像在当前窗口中的覆盖现象,在调用imshow函数显示下一幅图像之前可以使用figure命令来创建一个新的窗口。例如:
imshow(1);
figure, imshow(2);
figure, imshow(3);
或者
figure(1);
imshow('1.jpg');
figure(2);
imshow('2.jpg');
subplot(m,n,p);
有时为了便于在多幅图像之间进行比较,需要将这些图像显示在一个图形窗口中。达到这一目的有两种方法:一种方法是联合使用imshow和subplot函数,但此方法在一个图形窗口只能有一个调色板;另一种方法是联合使用subimage和subplot函数,此方法可在一个图形窗口内使用多个调色板。
subplot函数将一个图形窗口划分为多个显示区域,subplot函数将图形窗口划分为m(行)×n(列)个显示区域,并选择第p个区域作为当前绘图区。
例如:
subplot(2,1,1);
imshow 1.jpg;
subplot(2,1,2);
imshow 2.jpg;
或者
x1=imread('1.jpg');
x2=imread('2.jpg');
subplot(1,2,1),subimage(x1)
subplot(1,2,2),subimage(x2)
subimage函数通常可以与subplot函数配合使用来实现一个图形窗口中显示多幅图像的效果。其中,X为二维图像矩阵,map为X使用的颜色查找表,如果是灰色图像则无此参数。
图像文件信息的查询
imfinfo函数:
用于查询图像文件的有关信息,详细地显示出图像文件的各种属性。其语法格式为:info=imfinfo(‘filename’,‘fmt’)或info=imfinfo(‘filename.fmt’)或imfinfo filename.fmt
imfinfo函数获取的图像文件信息依赖于文件类型的不同而不同,但至少应包含以下内容:
文件名。如果该文件不在当前目录下,还包含该文件的完整路径。
文件格式。
文件格式的版本号。
文件最后一次修改的时间。
文件的大小。以字节为单位。
图像的宽度。
图像的高度。
每个像素所用的比特数。也叫像素深度。
图像类型。即该图像是真彩色图像、索引图像还是灰度图像
图像类型之间的转化
1、将图片转化成灰度图: A=rgb2gray(filename)
2、通过设定亮度将阈值灰度、真彩、索引图像转换为二值图像(所谓二值图像, 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。)。使用im2bw函数。
BW = im2bw(I,level) :将灰度图像 I 转换为二进制图像。输出图像 BW 将输入图像中亮度值大于 level 的像素替换为值1 (白色),其他替换为值0(黑色)。你指定 level 在 [0,1]之间,不用管输入图像的等级。函数graythresh 能用来自动计算变量 level 。如果你不指定 level ,im2bw 使用 0.5。
BW = im2bw(X,map,level)
将颜色表为 map 的索引图像 X 转换为二进制图像。
BW = im2bw(RGB,level) :将 RGB 真彩图像转换为二进制图像。Level是归一化的阈值,值域为[0,1]。Level可以由函数graythresh(I)来计算。
(如果输入图像不是灰度图像, im2bw 首先将图像转换为灰度图像,然后通过阈值将灰度图像转换成二进制图像。)
3、将灰度图片变成负片
负片是指将原灰度图白色的地方变成黑色,黑色的地方变成白色。也就是将0变成255,255变成0
J = imadjust(I,[low_in; high_in],[low_out; high_out])
其中,I为原灰度图像,low_in,high_in为输入图像的低和高灰度级,设置为[0,1]表示从0~255的归一化,low_out,high_out为输出图像的低高灰度级。
若是想将图片转换为负片,那么将[low_in; high_in]设置为[0,1],将[low_out; high_out]设置为[1,0]。即原来输入为0的地方变成1输出,输入为1的地方变成0输出。
相关文章推荐
- matlab处理图像时突出某一特征部分
- Matlab图像处理函数汇总
- matlab图像处理为什么要归一化和如何归一化
- 肺部胸片图像掩膜和伪彩色处理matlab
- 【图像处理】MATLAB:彩色图像处理
- Matlab图像处理(02)-图像基础
- Matlab图像频域处理
- 【MATLAB图像处理】在MATLAB中图像的坐标以及rectangle的坐标
- 【图像处理】MATLAB:表示与描述
- Matlab图像处理函数:regionprops
- DICOM格式的图像在MATLAB中处理
- MATLAB图像处理第二节
- 转载:MATLAB图像处理函数汇总 (二)
- MATLAB图像处理_YUV格式详解
- matlab图像处理函数
- 【matlab图像处理】图片生成油画效果(选择路径-交互)
- matlab图像处理之RGB转Ycbcr or gray
- matlab图像处理函数大全
- matlab图像处理
- MATLAB图像处理相关函数 非常有用