如何在Matlab中从世界坐标转换为像素索引

时间:2014-10-04 00:37:01

标签: matlab

我有512x512x313体积的dicom图像,我有一个以世界坐标表示的点说(57.7475 63.4184 83.1515),我怎样才能在Matlab中获得该世界坐标的相应像素坐标?

1 个答案:

答案 0 :(得分:1)

我讨厌破坏你的泡沫,但你要求的是不可能的。如果你校准用于捕获图像的相机,我能想到你能够在真实世界坐标和像素坐标之间获得对应关系的唯一方法。一旦你知道内在和外在参数,你就有了一个转换矩阵,可以将真实世界的坐标映射到像素坐标。

我假设您没有相机的校准信息,因此另一种方法是了解图像中哪些像素映射到哪个真实世界的坐标。您需要知道在真实世界和图像之间映射的点之间的点对应关系。一旦你知道这一点,你就可以通过最小二乘法计算相机变换矩阵,然后你将使用这个矩阵来确定哪些点从现实世界映射到你的图像。

除非您与每个真实世界的坐标都有像素对应关系,否则无法按照您的要求进行。

FWIW,如果您想了解如何获取转换矩阵的过程,请查看以下注释:http://www.peterhillman.org.uk/downloads/whitepapers/calibration.pdf。当我开始学习相机校准时,这对我来说是一个很好的起点。看看第5节(第8页),因为这是我认为你正在寻找的......但你需要在现实世界的坐标和你的形象之间建立对应关系。

祝你好运!