一、坐标系
1、笛卡尔坐标系(Cartesian coordinate system)
在数学中,笛卡尔坐标系 (Cartesian coordinate system) 是一种正交坐标系,亦称为直角坐标系。二维的直角坐标系是由两条相互垂直、相交于原点的数线构成的。在平面内,任何一点的坐标是根据数轴上对应的点的坐标设定的。
采用直角坐标,几何形状可以用代数公式明确地表达出来。几何形状的每一个点的直角坐标必须遵守这个代数公式。直线标准式 (一般式)
、斜截式
。
2、像素坐标系
图像都是由像素组成的,像素坐标是像素在图像中的位置。要确定像素的坐标,首先要确定图像的坐标系。常见的坐标系有图像坐标系、相机坐标系、世界坐标系等。
原点在左上角,与矩阵坐标系相同。图像 f(x,y),x表示列,向右;y表示行,向下。
建议在对二维数组进行index(索引)的时候采用I(r,c)的命名方式,即采用row,col的简写,不要采用x,y的命名,这样容易造成坐标系的混淆。在所有的程序中应当全部按照矩阵的索引方式存储,indexing元素,即原点位于索引(0,0)处(对于matlab为(1,1)),水平正方向为索引增长的方向,竖直正方向为竖直索引增长的方向。对于矩阵中的一个坐标(r,c),r为竖直方向坐标,c为水平方向坐标。
在一般的情况下禁止采用Cartesian坐标系和矩阵坐标系的混合使用,如果有必要,必须加以详细说明。
二、图像转换
三、中值滤波(中位数滤波)
中值滤波主要的作用还是平滑图像,去除图像中的噪点。
【定义】中值滤波是一种非线性的信号处理方法,所以它是一种非线性滤波器,也是一种统计排序滤波器。它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
【目的】中值滤波对孤立的噪声像素即椒盐噪声、脉冲噪声具有良好的滤波效果,可以保持图像的边缘特性,不会使图像产生显著的模糊。
【基本原理/思想】中值滤波是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点 。(中值滤波可以通过模板的方式对一幅图像(彩色or灰度)进行处理。模板的大小常见的可以是3*3、5*5、7*7等,形象的可以看成模板在一幅图像中进行滑动处理,将图像框成无数个大小一样的模板。)
medfilt1 ——1D medfilt filtering
medfilt2 ——二维中值滤波
medfilt3 ——3D medfilt filtering
四、图像的空间变换
Matlab空间变换函数 imtransform
Matlab空间变换函数 imtransform 可以实现图像仿射变换(如 平移、旋转、剪切、缩放)、投影变换, 该函数可与 maketform 配合使用。不过官网目前更推荐使用 imwarp。
用法说明:
(1)B = imtransform(A,tform)
根据 tform 定义的二维空间变换来变换图像 A,并返回变换后的图像 B。如果 A 是彩色图像,则 imtransform 会对每个颜色通道应用相同的二维变换。类似地,如果 A 是三维体或具有三个或更多维度的图像序列,则 imtransform 将相同的二维变换应用于沿更高维度的所有二维平面。对于任意维度的数组变换,请使用 tformarray。
(2)B = imtransform(A,tform,interp)
指定要使用的插值形式。
(3)B = imtransform(___,Name,Value)
使用名称-值对组来控制空间变换的各个方面。
(4)[B,xdata,ydata] = imtransform(___)
还返回输出图像 B 在输出 X-Y 空间中的范围。默认情况下,imtransform 会自动计算 xdata 和 ydata,使得 B 包含整个变换后的图像 A。但是,您可以通过为 XData 和 YData 名称-值对组输入参数指定值来覆盖此自动计算。变换原理:
矩阵形式:
我们通过控制 a0, a1, a2, b0, b1, b0 来达到图像变换的目的。
以下表格为具体变换数值: