您可以使用多个不同的图像坐标系来访问图像的位置。您可以使用离散像素索引指定位置,因为图像存储为阵列。您还可以使用连续空间坐标指定位置,因为图像代表连续空间中的真实场景。
中描述的在MATLAB图像, MATLAB®将大多数图像存储为数组。数组的每个(行、列)索引对应显示图像中的单个像素。
对于前两个矩阵维度,像素索引和下标之间存在一对一的对应关系。就像MATLAB中的数组索引一样,像素索引是整数值,范围从1到行或列的长度。这些指数是按照从上到下,从左到右的顺序排列的。
例如,第5行第二列的像素的数据存储在矩阵元素(5,2)中。你使用普通的MATLAB矩阵下标来访问单个像素的值。例如MATLAB代码
我(15)
返回单通道图像第2行第15列的像素值我
.同样,Matlab代码
RGB (2 15:)
返回第2行,多声道图像的第15列的像素的颜色值RGB
.
在一个空间坐标系统,图像中的位置是连续平面上的位置。位置是用笛卡尔坐标来描述的x和y坐标(不是像素索引系统中的行和列索引)。从这个笛卡尔透视,一个(x,y)诸如(3.2,5.3)的位置是有意义的,与坐标(5,3)不同。
图像处理工具箱™根据参考框架定义了两种类型的空间坐标系。内在坐标在图像的参考框架方面指定位置。世界坐标指定关于外部世界观察员的地点。
属性定义空间图像坐标,默认情况下内在的坐标系统.该空间坐标系对应于图像的像素索引。内在坐标(x,y)的中心点与该像素的列和行索引相同。例如,第5行第3列中的像素中心点具有空间坐标x= 3.0,y= 5.0。但是要注意,内在坐标的顺序(3.0,5.0)与像素指数(5,3)是相反的。
每个像素中心的固有坐标都是整数值。左上角像素的中心具有固有坐标(1.0,1.0)。右下像素的中心具有固有坐标(numCols,numRows),numCols和numRows为图像中的行数和列数。通常,具有像素索引的像素的中心(米,n)落在点上x=n,y=米在内在坐标系中。
因为内部坐标系中的每个像素的大小是一个单元,所以图像的边界具有分数坐标。图像的左上角位于(0.5,0.5),而不是(0,0)。类似地,图像的右下角位于(numCols
+ 0.5,numRows
+ 0.5)。
有几个函数主要使用空间坐标而不是像素索引,但是只要您使用默认的空间坐标系统(内在坐标),您就可以根据它们的列指定位置(x)和行(y).
在某些情况下,您可能希望使用a世界坐标系统(也称为非默认空间坐标系统)。在一些情况下,你可能想要使用世界坐标系:
当您在图像上执行几何操作(如平移),并希望保存有关新位置与原始位置之间关系的信息时。
当像素不是正方形的时候。例如,在磁共振成像(MRI)中,数据可以使像素在一个方向上的采样率高于正交方向上的采样率。
当你知道像素的范围是如何与现实世界中的位置对齐的。例如,在一张航空照片中,每个像素可能覆盖地面上一个5 × 5米的特定区域。
当你想要扭转方向时x-AXIS或y-轴。这是与地理空间数据一起使用的常用技术。
定义世界坐标系有几种方法。您可以使用空间引用对象,它编码图像在世界坐标系统中的位置、图像分辨率以及图像范围与内在和世界坐标的关系。您还可以指定每个维度中的最大和最小坐标。有关更多信息,请参见定义图像的世界坐标系.