史蒂夫与MATLAB图像处理

图像处理的概念、算法和MATLAB

介绍空间引用

今天的博文是由亚历克斯泰勒,一个图像处理工具箱的开发人员团队。谢谢你,亚历克斯!

在MATLAB中,图像通常表示为一个数字矩阵。有一些自然的几何图像处理操作,用户可能需要关心一个图像所在坐标系统。“空间引用”一词指的是过程定义一个图像所在的坐标系统。这篇文章将探讨空间引用和各种方式来完成图像数据的空间引用在MATLAB的图像处理工具箱。

内容

背景:内在坐标系统

有一个一致的、默认的坐标系统中使用MATLAB的图像处理工具箱。这个坐标系统默认情况下用于所有自然几何图像显示等操作,和几何转换。你可以看到默认的坐标系统通过显示一个小图像,观察那里的像素定位坐标系内的轴。

I =重塑(9:1:1,3,3);图;显示亮度图像(I);网格;colormap灰色的

在默认的坐标系统中,每个像素的中心落在一个积分值对应于集中(列,行)图像的下标。例如,我第一个像素的中心位于坐标(1.0,1.0)。

在图像处理工具箱,默认的坐标系统被称为“内在坐标系统”。The intrinsic coordinate system is a continuous extension of the discrete column,row subscripts of an image grid. This relationship between column,row matrix subscripting is where the term "intrinsic coordinates" comes from. The coordinate system is intrinsic to the one based column,row indexing of MATLAB.

空间引用对象:imref2dimref3d

空间引用对象imref2dimref3dR2013a释放的介绍了图像处理工具箱,让它更容易与二维和三维图像在非默认或世界坐标系统。这篇文章将集中在二维情况下imref2d。下面的例子定义了一个世界坐标系统的简单形象我X图像的限制(3 - 6)和Y限制了图像9 [6]。X和Y世界限制可以被定义在任何一致的单位系统。在这个例子中,假设世界限制以米为单位定义。

国际扶轮= imref2d(大小(I));RI。XWorldLimits = 6 [3];RI。YWorldLimits = 9 [6];

相当于空间引用对象可以创建在一行three-argument语法。

国际扶轮= imref2d(大小(I), 6[3],[6] 9日);

在一起,一个图像,及其相关的空间引用对象,RI,描述空间参考图像。imshow函数接受一个空间参考图像。

图,imshow (RI, [],“InitialMagnification”,“健康”);

的属性imref2d

空间引用对象有属性描述空间引用的各个方面。PixelExtentInWorldX和PixelExtentInWorldY属性定义多大世界上每个像素沿着X和Y坐标系统维度。因为XWorldLimits和YWorldLimits属性中定义的米,PixelExtentInWorldX和PixelExtentInWorldY属性以米为单位。

RI。PixelExtentInWorldX RI.PixelExtentInWorldY
= 1岁= 1

ImageExtentInWorldX和ImageExtentInWorldY属性定义图像的大小沿着X和Y网格尺寸在世界坐标系的单位。

RI。ImageExtentInWorldX RI.ImageExtentInWorldY
= 3岁= 3

图象尺寸属性定义了相关的图像矩阵的行和列的数量。

RI.ImageSize
答3 = 3

使用空间引用对象坐标系统之间的转换

空间引用对象有一组相关的函数,可以用来从世界坐标转换为默认内在坐标系统和离散像素下标。例如,worldToIntrinsic函数可以用来找到内在的坐标对应的图像我世界(X, Y)坐标(4.6,7.3)。

[intrinsicX, intrinsicY] = worldToIntrinsic (RI, 4.6, 7.3)
intrinsicX intrinsicY = 1.8000 = 2.1000

内在的坐标,coorespond这个世界坐标下降内在(X, Y)位置(2.1,1.8)。这意味着之间的价值我们感兴趣的是位于第一和第二行和第二和第三列之间的图像即worldToSubscript函数积分可以用来获取最近的行,列下标为我在给定的世界的位置。

[r、c] = worldToSubscript (RI, 4.6, 7.3)
r = 2 c = 2

输出(行、列)的位置可以用来索引为我找到我的价值在世界(X, Y)位置(4.6,7.3)。

我(r、c)
ans = 5

使用worldToSubscript找到最近的整体价值下标世界坐标位置相当于执行一个给定的最近邻插值空间内引用图像网格。

interp2(我intrinsicX intrinsicY“最近的”)
ans = 5

您还可以使用双线性插值估计我在固有的价值坐标,积分之间的行,列索引。

interp2(我intrinsicX intrinsicY双线性的)
ans = 4.9000

imshowpair和空间参考

图像显示功能imshowpair可用于显示覆盖的图像对和是一个很好的例子的重要性自然空间引用几何工作流。

从核磁共振图像我的膝盖受伤后运行。

膝盖= dicomread (“knee1.dcm”);

调整膝盖图像的0.5倍。

smallKnee = imresize(膝盖,0.5);

显示一个falsecolor每个图像的叠加。注意,由于没有指定空间参考信息imshowpair,imshowpair假设每个图像内在的坐标系统。这导致每个图像在左上角对齐(0.5,0.5)。

图中,imshowpair(膝盖,smallKnee);

有一个输入参数的语法imref2d允许容易建设默认空间引用对应于给定大小的图像。我们可以通过这些空间引用对象imshowpair看到相同的每个图像可视化功能的内在的坐标系统。

Rknee = imref2d(大小(膝盖));RsmallKnee = imref2d(大小(smallKnee));图,imshowpair(膝盖,Rknee、smallKnee RsmallKnee);

在这种情况下,膝盖在世界上的物理尺寸是一样的,但一个图像的采样分辨率的一半。调整缩放图像的世界范围的影响模拟的一个案件中,两个不同分辨率的图像包含同一场景的世界观。

RsmallKnee。XWorldLimits = Rknee.XWorldLimits;RsmallKnee。YWorldLimits = Rknee.YWorldLimits;图,imshowpair(膝盖,Rknee、smallKnee RsmallKnee);

应用转移到世界范围的一个图像模拟图像偏差由于翻译。

RsmallKnee。XWorldLimits = RsmallKnee.XWorldLimits + 50;图,imshowpair(膝盖,Rknee、smallKnee RsmallKnee);

未来发展方向的空间参考图像处理工具箱

以上图像处理工具箱函数如imshow和imtransform使用MATLAB的图形“XData”和“YData”引用系统。在此系统中,两个元素向量XData描述了第一个和最后一个像素的中心沿X的形象,和描述的YData第一个和最后一个像素的中心沿着Y的形象。有关详细信息,请参阅下面的文档链接:“XData”和“YData”HG图像对象的属性。

新的图像处理处理等功能imshowpair,imregister,imregtform,imwarp使用空间引用对象,而不是“XData”和“YData”。前进,我们将不再强调使用“XData”和“YData”引用的图像处理工具箱。扩大在新功能的使用空间refeferencing对象并寻找空间引用集成到现有的功能自然几何工作流的一部分。

有图像处理工具箱函数,你希望看到的引入空间引用?如果是,请让我们知道,我们将不胜感激你的反馈。




发表与MATLAB®R2013a

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。