主要内容

图像坐标系统

您可以使用几种不同的图像坐标系统访问图像中的位置。可以使用离散像素索引指定位置,因为图像是以数组的形式存储的。您还可以使用连续空间坐标指定位置,因为图像表示连续空间中的真实场景。

像素指数

中描述的在MATLAB图像, MATLAB®将大多数图像存储为数组。数组的每个(行、列)索引对应于所显示图像中的单个像素。

前两个矩阵维的像素索引和下标之间存在一一对应关系。就像MATLAB中的数组索引一样,像素索引是整数值,范围从1到行或列的长度。索引从上到下,从左到右排序。

例如,第5行第二列中的像素的数据存储在矩阵元素(5,2)中。您可以使用普通的MATLAB矩阵下标来访问单个像素的值。例如,MATLAB代码

我(15)

返回单通道图像的第2行第15列的像素的值.类似的,MATLAB代码

RGB (2 15:)

返回多通道图像的第2行、第15列像素的颜色值RGB

空间坐标

在一个空间坐标系统,图像中的位置是连续平面上的位置。位置是用笛卡尔坐标来描述的xy坐标(不是像素索引系统中的行和列索引)。从笛卡尔的观点来看,一个(xy)位置,如(3.2,5.3)是有意义的,并有别于坐标(5,3)。

Image Processing Toolbox™根据参考框架定义了两种类型的空间坐标系。内在坐标指定了相对于图像的参考坐标系的位置。世界坐标指定了相对于外部世界观察者的位置。

内在的坐标

默认情况下,工具箱使用内在的坐标系统.这个空间坐标系对应于图像的像素指数。本征坐标(xy)的值与该像素的列和行索引相同。例如,第5行、第3列中的像素的中心点具有空间坐标x= 3.0,y= 5.0。但是,请注意,相对于像素索引(5,3),内在坐标(3.0,5.0)的顺序是颠倒的。

每个像素中心的内禀坐标都是整数值。左上角像素的中心具有固有坐标(1.0,1.0)。右下像素的中心具有内禀坐标(numColsnumRows),numColsnumRows是图像中的行数和列数。通常,具有像素索引的像素的中心(n)在此点下落xny在固有坐标系中。

由于内在坐标系中每个像素的大小是一个单位,图像的边界具有分数坐标。图像的左上角位于(0.5,0.5),而不是(0,0)。同样,图像的右下角位于(numCols+ 0.5,numRows+ 0.5)。

有几个函数主要使用空间坐标而不是像素索引,但是只要使用默认的空间坐标系统(内在坐标),就可以根据列指定位置(x)及排(y).

世界坐标

在某些情况下,您可能希望使用世界坐标系统(也称为非默认空间坐标系统)。在某些情况下,你可能想要使用世界坐标系,包括:

  • 当您对图像执行几何操作(例如平移),并希望保存有关新位置与原始位置之间关系的信息时。

  • 当像素不是正方形时。例如,在磁共振成像(MRI)中,您可以收集数据,使像素在一个方向上的采样率高于正交方向。

  • 当你知道像素的范围如何与现实世界中的位置对齐时。例如,在一张航空照片中,每个像素可能覆盖地面上一个特定的5 × 5米的小块。

  • 当要反转方向时x设在或y设在。这是一种用于地理空间数据的常见技术。

定义世界坐标系有几种方法。您可以使用空间引用对象,它对图像在世界坐标系统中的位置、图像分辨率以及图像范围与内在坐标和世界坐标之间的关系进行编码。您还可以指定每个维度中的最大和最小坐标。有关更多信息,请参见定义图像的世界坐标系统

相关的例子

更多关于