matlab一些指令,便于后期查询
- 图象显示
- 标准图像显示技术
- 特殊图象显示技术
- 图像运算
代数运算
a.图像相减取绝对值差:K=imabsdiff(I,J)
b.图像求补:h=imcomplement(I)
空间变换
a.缩放图像
b.旋转图像
c.修建图像
mcrop
d.空间变换
imtransform
图像配准
- 图像数据变换
二维傅立叶
iff2
离散余弦
a. dct2函数
b. dctmtx函数
其他变换
1)radon变换:
2)fanbeam变换:
- 图像分析与增强
A像素值及统计
B 图像分析
首先回顾一下边缘检测的一般步骤:
边缘检测算法一般包含如下四个步骤:
1.滤波(去噪)
2.增强(一般是通过计算梯度幅值)
3.检测(在图像中有许多点的梯度幅值会比较大,而这些点并不都是边缘,所以应该用某种方法来确定边缘点,比如最简单的边缘检测判据:梯度幅值阈值)
4.定位(有的应用场合要求确定边缘位置,可以在子像素水平上来估计,指出边缘的位置和方向)
边缘检测方法比较常用的有基于各种算子的方法,有基于一阶导数的各种算子(Roberts、Sobel、Prewitt等),还有基于二阶导数的拉普拉斯算子等。其中一阶导数一般找梯度极大值。二阶导数找过零点(需要忽略无意义的过零点(即均匀零区))。
BW=edge(I,method,thresh,direction/sigma)
其中method可以取‘sobel’【注:在边缘检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边缘的 ;另一个是检测垂直边缘的 】
2)四叉树分解:qtdecomp函数(这部分转自uleen博客)
原始矩阵:
I =
>> S = qtdecomp(I,.05) %执行四叉分解,阈值为0.05,实际上的阈值是ceil(0.05*255)=13,因为I是uint8类的
S =
S是一个稀疏阵,全显示为:
>> disp(full(S));
1)图像灰度调整(imadjust)
(通过调节灰度范围数据,来实现增大或缩小图像对比度效果)
2)使用直方图调整灰度(histeq)
(首先进行直方图均衡,再通过直方图均衡转换灰度图像的亮度值或索引值图像的颜色图值来增强图像对比度,输出图像的直方图近似于给定直方图)
3)图像色彩加强(decorrstretch)
D 图像平滑
1)线性滤波
线性滤波可以从图像中去除特定成分噪音,用imfilter函数实现线性滤波
'average'
averaging filter
为均值滤波,参数为hsize代表模板尺寸,默认值为[3,3]。
H = FSPECIAL('average',HSIZE) returns an averaging filter H of size
HSIZE. HSIZE can be a vector specifying the number of rows and columns in
H or a scalar, in which case H is a square matrix.
The default HSIZE is [3 3].
折叠'disk'
circular averaging filter
为圆形区域均值滤波,参数为radius代表区域半径,默认值为5.
H = FSPECIAL('disk',RADIUS) returns a circular averaging filter
(pillbox) within the square matrix of side 2*RADIUS+1.
The default RADIUS is 5.
折叠'gaussian'
Gaussian lowpass filter
为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准值,单位为像素,默认值为0.5.
H = FSPECIAL('gaussian',HSIZE,SIGMA) returns a rotationally
symmetric Gaussian lowpass filter
of size HSIZE with standard
deviation SIGMA (positive). HSIZE can be a vector specifying the
number of rows and columns in H or a scalar, in which case H is a
square matrix.
The default HSIZE is [3 3], the default SIGMA is 0.5.
折叠'laplacian'
filter approximating the 2-D Laplacian operator
为拉普拉斯算子,参数alpha用于控制算子形状,取值范围为[0,1],默认值为0.2.
H = FSPECIAL('laplacian',ALPHA) returns a 3-by-3 filter
approximating the shape of the two-dimensional Laplacian
operator. The parameter ALPHA controls the shape of the
Laplacian and must be in the range 0.0 to 1.0.
The default ALPHA is 0.2.
折叠'log'
Laplacian of Gaussian filter
为拉普拉斯高斯算子,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准差,单位为像素,默认值为0.5.
H = FSPECIAL('log',HSIZE,SIGMA) returns a rotationally symmetric
Laplacian of Gaussian filter of size HSIZE with standard deviation
SIGMA (positive). HSIZE can be a vector specifying the number of rows
and columns in H or a scalar, in which case H is a square matrix.
The default HSIZE is [5 5], the default SIGMA is 0.5.
折叠'motion'
motion filter
为运动模糊算子,有两个参数,表示摄像物体逆时针方向以theta角度运动了len个像素,len的默认值为9,theta的默认值为0;
H = FSPECIAL('motion',LEN,THETA) returns a filter to approximate, once
convolved with an image, the linear motion of a camera by LEN pixels,
with an angle of THETA degrees in a counter-clockwise direction. The
filter becomes a vector for horizontal and vertical motions.
The
default LEN is 9, the default THETA is 0, which corresponds to a
horizontal motion of 9 pixels.
折叠'prewitt'
Prewitt horizontal edge-emphasizing filter
用于边缘增强,大小为[3 3],无参数
H = FSPECIAL('prewitt') returns 3-by-3 filter that emphasizes
horizontal edges by approximating a vertical gradient. If you need to
emphasize vertical edges, transpose the filter H: H'.
[1 1 1;0 0 0;-1 -1 -1].
折叠'sobel'
Sobel horizontal edge-emphasizing filter
用于边缘提取,无参数
H = FSPECIAL('sobel') returns 3-by-3 filter that emphasizes
horizontal edges utilizing the smoothing effect by approximating a
vertical gradient. If you need to emphasize vertical edges, transpose
the filter H: H'.
[1 2 1;0 0 0;-1 -2 -1].
折叠'unsharp'
unsharp contrast enhancement filter
为对比度增强滤波器。参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2.
H = FSPECIAL('unsharp',ALPHA) returns a 3-by-3 unsharp contrast
enhancement filter. FSPECIAL creates the unsharp filter from the
negative of the Laplacian filter with parameter ALPHA. ALPHA controls
the shape of the Laplacian and must be in the range 0.0 to 1.0.
The default ALPHA is 0.2.