问题标签 [image-registration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1259 浏览

python - 如何使用 Python 中的 SimpleElastix 执行 3d 图像配准?

我正在尝试注册两个 3d 卷。可以在这里找到一个尝试。代码首先生成两个不同的体积,都包含一个半径为 4 的球体。然后我尝试使用默认的平移参数映射来对齐它们。但是,从最后一行中可以看出(如果在本地运行,则从图中可以看出),结果体积与固定体积根本不对齐。当尝试相同的过程时,这次在 2d 中,生成的图像确实似乎与固定图像正确对齐,如此处所示。我是否错误地使用了 SimpleElastix API?我查看了 SimpleElastix 的 Github 存储库,但找不到任何 3d 图像配准的示例(至少不使用 Python 中生成的卷,然后将它们转换为 ITK 图像)。

来自 3d 示例的代码:

二维示例中的代码:

0 投票
1 回答
1566 浏览

python - gdal使用python调整大小并保存为png

我知道如何使用 cmd 行中的 gdal_translate 来调整和保存 png:

但是使用python我只知道如何保存png:

请问如何使用python调整和保存png的大小?

0 投票
1 回答
97 浏览

polynomials - 图像配准中的 B 样条变换与多项式变换

基于 BSpline 变换的图像配准和基于多项式变换的图像配准有什么区别?

0 投票
0 回答
166 浏览

image - Matlab 位移矢量场

给定两个不同的图像,我如何计算和绘制这两个图像之间位移的矢量场?

我知道 matlab 有一个名为光流的工具,它可以让我做一些与我所要求的类似的事情,但它看起来对我不起作用。

除了光流还有什么可以帮助我的吗?

也许我做错了什么,所以我要发布一个我正在做的例子:

这是我的输出

向量场

提前谢谢了。

0 投票
1 回答
360 浏览

python - 配准具有不同视野的非各向同性 CT 扫描

我对医学图像配准非常陌生。

我正在尝试注册两个 CT 体积,第一个是轴向的,大小为 (384,384,31),间距为 (0.57,0.57,4.8),第二个是矢状扫描,大小为 (384,384,15),间距 (0.67) ,0.67,2.2),以便使用它们之间的重叠区域来创建超分辨率并获得各向同性扫描。

所以问题是体积有不同的方向以及不同的视野。即矢状扫描中的轴向切片仅包含轴向扫描中存在的一小部分,换句话说,我需要裁剪轴向扫描中的轴向切片以匹配矢状切片的FOV等以创建simpleitk 刚性配准算法的掩码。

我还认为我需要在某些时候重新采样两个卷的掩码。

我的问题是,如何创建掩码,我可以使用 nifti 文件中可用的任何元数据来执行此操作吗?我有方向、原点和索引点矩阵。

非常感谢。

0 投票
1 回答
416 浏览

android - Android:图像对齐

我需要使用 OpenCV 库在我的 android 应用程序中对齐不同的图像。我在这个线程中找到了解决方案。

我尝试了用户 wegenerEDV 编写的所有三种方法。无论如何,前两个方法返回与作为输入给出的“位图 A”相同的图片;第三种方法实际上是对齐图片,但生成的图像曝光过度:

原文:https ://i.imgur.com/cknHM23.jpg

对齐:https ://i.imgur.com/kXCQl6x.jpg

有没有人找到不同的解决方案?还是这些方法真的有效而我做错了什么?

对我来说最好的解决方案是更正 alignImagesHomography 方法。它实际上做了一些事情,因为处理最终图片大约需要 30 秒,但它与输入图像完全相等。

0 投票
0 回答
342 浏览

swift - Apple Vision 图像配准

我想将图像拼接在一起以在 iOS 应用程序中制作球形全景图。我尝试用 OpenCV 来做,但结果证明这是浪费时间,因为当我尝试缝合天花板或地板的照片时,它几乎总是崩溃。此外,它占用了大量的cpu内存。

我刚刚在浏览 Apple 文档时发现 Apple Vision 具有图像注册功能。在花费数小时和数小时后,我无法弄清楚如何使用它。文档很糟糕,根本没有使用示例。

我真正需要的只是一个教程或演示或缝合两个或更多图像的功能,我可以从那里开始。任何帮助将不胜感激,因为我的工作取决于它。

0 投票
1 回答
354 浏览

matlab - 如何将 Matlab 的图像配准限制为仅假设旋转,零平移?

我正在使用 Matlab 的 imregtform() 函数将两个 3D MRI 图像相互配准。我知道这两个图像都通过围绕图像中心的旋转相关联,并且正在使用“刚性”变换类型来执行配准。但是,生成的变换具有很小但非零(小于 0.5 像素)的平移分量。有没有办法指定翻译应该完全为零?如有必要,我愿意使用Matlab之外的其他工具。

0 投票
1 回答
713 浏览

computer-vision - 给定对应的点对找到最优刚性变换

我在同一个坐标系中有一个源和目标。源中有“n”个点,目标中有“n”个点(n>=3)。通信也是已知的。我想找到最佳的刚性变换矩阵(在某些情况下为 6 DOF 或更少)。

我知道这是通过最小化源点和目标点之间的距离平方来解决的。

我有以下两个问题。

1)在这些情况下,最好的求解器是什么?2) 在 Levenberg-Marquardt 算法的情况下,四元数表示旋转,计算雅可比矩阵的最佳方法是什么?

0 投票
0 回答
160 浏览

matlab - MATLAB - 在 uint16 图像中未检测到 SURF 特征

我正在使用 SURF 功能进行图像配准。我有类型的图像uint16

pts1 = detectSURFFeatures(image)

当我在图像上使用上述函数时uint16,该函数返回 0 个 SURF 点。作为一种解决方法,我曾经将图像转换为uint8,之后该函数返回大量检测到的 SURF 点。因此,该功能适用​​于uint8图像,但不适用于uint16.

请注意,该函数不会显示任何错误。它执行成功,但SURFPoints object返回的 SURFPoints 为 0。

为什么会这样?上述函数的文档说图像可以是single, double, uint8, uint16, int16 and logical. 那么为什么该功能不适用于uint16我正在使用的图像?

我通过将图像转换为double数据类型进行了实验。它没有用。它仅在我将图像转换为uint8.

抱歉,我不能分享这些图片,因为它们是机密数据,但是这里有人遇到过类似的问题吗?

我本可以继续转换为uint8,但这带来了一些其他问题,因此我想知道基本问题的解决方案。

我正在使用 MATLAB 2017。