matlab图像处理命令

  • 格式:ppt
  • 大小:3.36 MB
  • 文档页数:108

下载文档原格式

  / 108
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对比度增强
•灰度调整 •对数变换
只对“灰度” 图像有效
对比度增强
•Gamma校正 •Gamma因子的取值决定了输入图像到 输出图像的灰度映射方式,即决定了增 强低灰度级还是高灰度级。
平滑滤波
•中值滤波
平滑滤波
•平滑技术用于平滑图像中的噪声 •基本方法是:求像素灰度的平均值和中值 •Matlab工具箱中提供的去噪的方法: •线性滤波 •中值滤波 •自适应滤波
MATLAB常用的图像操作
数字图像研究的领域
• 数字图像研究的领域非常广泛
– 图像的数字化 – 图像变换 – 图像增强 – 图像恢复 – 图像分割 – 图像分析与理解 – 图像编码压缩
MATLAB图像处理工具箱
• 提供了丰富的图像处理函数
– 图像的几何变换 – 图像的领域和图像块操作 – 线性滤波和滤波器设计 – 图像变换 – 图像分析与增强 – 二值图像操作 – 感兴趣区域处理
– 可在一个图像窗口内使用多个调色板,使得各 种图像能在同一个图像窗口中显示
图像文件的显示
图像的代数运算
• Z = imabsdiff(X,Y)
图像的代数运算
• Z = imadd(X,Y)
图像的代数运算
• IM2 = imcomplement(IM)
图像的代数运算
• Z = imdivide(X,Y)
MATLAB中支持的图像类型
• • • • • 真彩色图像 索引色图像 灰度图像 二值图像 还可处理由多帧图像组成的图像序列
真彩色图像
• 又称为RGB图像 • 利用R、G、B 3个分量表示一个像素的颜色,通过 三基色可以合成出任意颜色 • 一个尺寸为m×n的RGB图像,在MATLAB中存储 为一个m×n×3的多维数组 • 图像A中(x,y)处的像素的RGB值:A(x,y,1:3) • 若RGB图像用双精度型来存储,亮度值域为[0,1], 则一个像素值为(0,0,0)代表黑色,值为(1,1,1)代表 白色 • 用无符号整型存储,亮度值范围[0,255]
J=imadjust(I,[low_in; high_in], [low_out; high_out], gamma)
•彩色(RGB)调整
R
G
B
• • • • • • • • • • • • •
I =imread('girl.jpg'); J=imadjust(I,[],[],2.2); K=imadjust(J,[],[],1/2.2); subplot(2,3,1),imshow(I) ,title('RGB-I') subplot(2,3,2),imshow(J) ,title('RGB-J') subplot(2,3,3),imshow(K) ,title('RGB-K') % I1=rgb2gray(I); J1=imadjust(I1,[],[],2.2); K1=imadjust(J1,[],[],1/2.2); subplot(2,3,4),imshow(I1) ,title(‘Gray-I') subplot(2,3,5),imshow(J1) ,title(‘Gray-J') subplot(2,3,6),imshow(K1) ,title(‘Gray-K')
low_in high_in
I
对比度增强
•灰度调整
J
high_out
J=imadjust(I,[low_in; high_in], [low_out; high_out], gamma)
low_out 0
low_in
high_in
I
灰度的Gamma变换
y x esp

其中,x、y的取值范围为[0,1]。esp为补偿系数,r则为Gamma系数。 Gamma变换是根据r的不同取值选择性的增强低灰度区域的对比度 或者高灰度区域的对比度。
jet
Hsv
Hot
索引色图像
• 默认情况下,调用调色板函数会产生一 个64×3的调色板,用户也可以自定义调色 板的大小,如hot(m)产生一个m×3的调色
板,其颜色范围从黑经过红、橘红、黄到白
索引色图像
• MATLAB中的索引色图像包括两个结构 – 图像数据矩阵,也可以是double和uint8两 种类型 当图像数据为double类型时,值1代表 调色板中的第1行,值2代表第2行…… 如果图像数据为uint8类型,0代表调色 板的第1行,值1代表第2行……
– 例如一幅200行300列的图像,在MATLAB中存 储为200×300大小的矩阵 – 有些图像,如RGB图像,需要三维矩阵表示, 每一维代表一种颜色
MATLAB中的图像
• MATLAB中图像数据矩阵的存储方式为: – 双精度(double)类型,即64位的浮点数 – 无符号整数(uint8) 类型 • 在进行图像数据矩阵运算时,通常要将图 像转换成double型 • uint8类型的优势仅在于节省存储空间
g(x,y) Mg d d
g(x,y)
c 0 a b f(x,y)
c 0 a b Mf f(x,y)
对比度增强
•灰度调整
J
high_out
low_out 0
I,J范围:0~1 [ ]默认为[0;1] J=imadjust(I) 将灰度图 像 I 中的亮度值映射到 J 中的新值并使 1% 的数 据是在低和高强度饱和, 这增加了输出图像 J 的 对比度值。
文件格式版本号
图像的宽 图像的高 位深度 图像类型 调色板
图像的显示
图像文件的显示
• 索引图像及其显示
图像文件的显示
• 索引图像及其显示 – 用image函数显示由矩阵表示的图像, MATLAB将矩阵的每个元素对应到当前 调色板的一行,并取这一行的颜色值作 为该点的颜色,必须先指定调色板
load clown
图像的代数运算
• Z = immultiply(X,Y)
图像几何运算
• 在对图像进行缩放、旋转等几何变换时, 由于数字图像的坐标是整数,经过这些变 换后的坐标不一定是整数,因此要对变换 之后的整数坐标位置的像素值进行估计。 • 几何运算包括:
– 空间变换 – 灰度插值
• 最近邻插值 • 双线性插值 • 双三次插值
二值图像
• 二值图像只需一个数据矩阵,每个像素只有 两个灰度值,可以采用uint8或double类型存 储。 MATLAB工具箱中以二值图像作为返回结 果的函数都使用uint8类型。
图像序列
• MATLAB工具箱支持将多帧图像连接成图像 序列。 图像序列是一个4维数组,图像帧的序号 在图像的长、宽、颜色深度之后构成第4维。 分散的图像也可以合并成图像序列,前提 是各图像尺寸必须相同,若是索引色图像, 调色板也必须相同。 可参考cat()函数 A= cat(4,A1,A2,A3,A4,A5)
索引色图像
• 把不同的颜色对应为不同的序号,各像素存 储的是颜色的序号而不是颜色值本身。 • MATLAB中的索引色图像包括两个结构 – 调色板:一个m×3的色彩映射矩阵,每 一行代表一种颜色,通过3个分别代表红、 绿、蓝颜色强度的双精度数,形成一种特 定的颜色
索引色图像
• MATLAB中提供一些产生预存的标准调色板的函数
image(X)
colormap(map) image(X)
[X,map] = imread('trees.tif');
imshow(X,map)
图像文件的显示
• 灰度图像的显示 – 要显示一副灰度图像,可以调用函数 imshow 或 imagesc
图像文件的显示
I = imread('cameraman.tif');
• • • • • 直方图增强 对比度增强 二维卷积和二维滤波 平滑滤波 锐化
直方图增强
• 直方图
只对“二值”或“灰 度”图像有效
灰度级数目
直方图增强
• 直方图均衡化
只对“二值”或 “灰度”图像有效
对比度增强
• 该方法按一定的规则修改输入图像每个像 素的灰度,从而改变图像灰度的动态范围。 它可以使灰度动态范围扩展,也可以压缩, 或进行分段处理等。
imshow(I) imshow('cameraman.tif ')
h = imshow(I,[0 80]);
图像文件的显示
图像文件的显示
• RGB图像的显示 – image(RGB)
– imshow(RGB)
图像文件的显示
• colorbar
– 用于显示颜色条,由图像中使用到的色彩排列 而成
图像文件的显示
• montage
– 多帧图像指的是包含不止一幅图像的图像,如 HDF和TIFF文件类型。 – 同时显示多帧图像的所有帧 – 显示多帧图像中的一帧
图像文件的显示
• montage
图像文件的显示
• immovie
– 将多帧图像转换成MATLAB动画
图像文件的显示
• subimage
• • • • • • • • • • • • •
I =imread('girl.jpg'); J=imadjust(I,[],[],2.2); K=imadjust(J,[],[],1/2.2); subplot(2,3,1),imshow(I) ,title('RGB-I') subplot(2,3,2),imshow(J) ,title('RGB-J') subplot(2,3,3),imshow(K) ,title('RGB-K') % I1=rgb2gray(I); J1=imadjust(I1,[],[],2.2); K1=imadjust(J1,[],[],1/2.2); subplot(2,3,4),imshow(I1) ,title(‘Gray-I') subplot(2,3,5),imshow(J1) ,title(‘Gray-J') subplot(2,3,6),imshow(K1) ,title(‘Gray-K')
图像类型转换函数
读写图像文件
图形图像文件的读取
(适用于cur、ico、tif格式)
参数fmt指定了图像的格式,可选的值为cur、bmp、hdf、 ico、jpg、pcx、png、tif、xwd
图形图像文件的写入
图形图像文件信息的查询
文件最后修改时间 文件大小(字节) 文件格式
图像几何运算
• 图像的插值缩放
程序例:
clear close all X=imread('autumn.tif'); X1=imresize(X,4,'nearest'); X2=imresize(X,4,'bilinear'); X3=imresize(X,4,'bicubic'); figure,imshow(X) figure,imshow(X1) figure,imshow(X2) figure,imshow(X3) figure subplot(2,2,1),imshow(X); subplot(2,2,2),imshow(X1); subplot(2,2,3),imshow(X2); subplot(2,2,4),imshow(X3); imwrite(X,’X.jpg') imwrite(X1,'x1.jpg') imwrite(X2,'x2.jpg') imwrite(X3,'x3.jpg')
图像几何运算
• 图像的插值旋转
图像几何运算
• 图像的剪切
交互式
rect
[Xmin Ymin Width Height]
图像增强
空间域 图像 增强 频率域
点运算
灰度变换 直方图修正法
区域运算
平滑 锐化
高通滤波 低通滤波 同态滤波 假彩色增强 彩色增强 伪彩色增强 彩色变换增强
代数运算
图像增强
MATLAB图像处理工具箱
• MATLAB图像处理工具箱提供的函数大多 数是M文件,可以查看这些文件的代码并进 行改进,也可以把自己编写的代码加入其 中,来扩充图像处理的功能。
MATLAB中的图像
• MATLAB中的数字图像由一个或多个矩阵 表示 • 矩阵运算的语法对数字图像同样适用 • 图像按像素存储,即矩阵的每个元素代表 一个像素
索引色图像
• 当读入图像时,MATLAB同时加载调色板和 图像 • load flujet
• image(X)
索引色图像
• 当读入图像时,MATLAB同时加载调色板和 图像 • load flujet
• image(X)ຫໍສະໝຸດ Baidu• colormap(hot)
灰度图像
• 存储灰度图像只需要一个数据矩阵。 数据类型可以是double,[0,1];也可以 是uint8,[0,255]