【问题标题】:How to convert from world coordinates to pixel indices in Matlab如何在 Matlab 中将世界坐标转换为像素索引
【发布时间】:2014-10-04 15:07:32
【问题描述】:

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

【问题讨论】:

    标签: matlab


    【解决方案1】:

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

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

    除非您与现实世界的每个坐标都有像素对应关系,否则不可能按照您的要求进行操作。

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

    祝你好运!

    【讨论】:

    • 非常感谢您的回复。不幸的是,我没有相机校准,因为图像是由 CT 医疗设备捕获的。我有卷的 .mhd 文件,最近有人告诉我,我应该获取图像的原点和方向以了解如何在世界坐标和像素坐标之间进行转换,但我仍然不知道或通过 matlab 找到如何做到这一点...你对这些功能有什么想法吗?
    • @NohaSeada - 要获得方向和原点,您需要校准相机 :) 这可能是他们所指的。但是,由于您无法校准,因此您需要具有从像素映射到现实世界坐标的对应关系。如果您有一堆点,您知道它们在像素中的位置以及现实世界中的相同点,那么您可以找到转换矩阵。您可以使用上述方法,也可以尝试图像配准。也试试这个链接:mathworks.com/help/images/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 2018-07-03
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多