问题标签 [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 投票
0 回答
725 浏览

python - 如何在python中应用控制点网格来变形图像

我是 Python 的初学者;尽管如此,我最近开始将这种语言用于医学图像处理、图像配准的重要研究项目。

实际上,对于自由形式的配准,我们有一个分布在图像上的控制点网格,这里命名为矩阵 Fi。每个控制点从其原始位置的位移由矩阵 Ro 表示。Fi 和 Ro 的每个元素都是一个 2 成员数组,如 [x1,y1]。二维图像的维度、网格以及控制点之间的原始间距分别用 Mx、My、Nx、Ny、Sx、Sy 表示。

三次 B 样条插值方程

我想知道如何将上述三次 B 样条方程应用于此控制点网格以创建 DDF(密集位移场,即图像中每个像素的 x 和 y 坐标中的位移)以最终使用 NumPy使图像变形或 TensorFlow以一种有效的方式。目前,我的以下迭代算法太慢了。

我不能使用像 SciPy 中那样的即用型插值函数,因为我为每个指定了一些地标的图像都有一个注释文件,并且我需要知道每个地标在变形图像中变形后的位置。

提前感谢您帮助我。

0 投票
2 回答
1811 浏览

c++ - PCL:将两个点云缩放到相同的大小

我有两个点云并尝试将它们缩放到相同的大小。我的第一种方法是将平方根与特征值相除:

这有助于我将我的模型云缩放到与我的分段云大致相同的大小。但结果真的不是那么完美。这是一个简单的估计。我尝试使用TransformationEstimationSVDScale以及本教程SampleConsensusModelRegistration中的类似方法进行操作。但是当我这样做时,我收到消息,源点/索引的数量与目标点/索引的数量不同。

当云中有不同数量的点时,将云缩放到相同大小的最佳方法是什么?

编辑我尝试按照@dspeyer 的建议进行操作,但这给了我几乎 1.0 的比例因子

0 投票
1 回答
103 浏览

python - 注册人脸识别

我正在尝试使用 python 为我的 face_recognition 应用程序做一个基本注册

我需要一些方法来添加人员,注册然后可以被识别任何帮助表示感谢,谢谢

这就是我所有的代码测试,我正在尝试做我的朋友在这里对我说的,但我是 python 新手,所以我需要更多帮助。

这是一个 face_recognition 代码,我正在研究 python 以获得该代码以帮助我在大学里!所以我非常感谢你的帮助

0 投票
0 回答
194 浏览

python - 改进了模糊和低光图像的配准

我通过阅读研究论文并尝试复制他们的测试和结果来学习 OpenCV 应用程序。我可能在人迹罕至的地方跳得太深了,现在我很好奇进行这项调查的正确方法。

目标:1)注册这两个图像。2)堆叠曝光(这个系列实际上有20多个)。3)学习。

下面附上一张用手机拍摄的示例图像,在低光下,在连拍模式下。如果要进行水平拉伸,则会看到很少有硬边(一些纸张),但有足够的细节可以手动将图像的各个部分相互对齐。我通过 ORB 和 SIFT 的默认 OpenCV 实现运行了这个,正如预期的那样,结果匹配不佳。

我还没有偶然发现用于增加边缘检测的正确技术。如前所述,不存在硬边。但是我想我以前读过可以使用 max 函数对图像进行下采样并获得更好的“边缘”检测。该边缘应该能够为更高分辨率的图像提供配准单应性。但我既找不到这样做的资源,也找不到类似活动的任何描述。在这里的帮助将不胜感激。

此外,如果有任何撰写的论文讨论这种技术,我可以指出我会很感激。我对天文摄影和星星堆叠非常熟悉,并期待在不同类型的图像集上尝试下毛毛雨。

下采样图像技术我试图更好地指示边缘:高斯差异、拉普拉斯、定向边缘检测等。

我很感激你花时间帮助我学习如何扩大我的努力。

谢谢你。

编辑:修改图像的对比度、亮度或色调响应,对图像内容的相关性没有影响。至少在我能够运行的有限的一组测试中。它使它们“更漂亮”,但老实说,算法并不关心它们是在“人类视觉空间”还是“线性数字计数”中。我可以将其发布为漂亮的图像,但是如果没有这些锐利的边缘,大多数过滤器都会失败并且匹配不会成功——这是我的问题的症结所在。

带有匹配项的错误图像示例

0 投票
1 回答
119 浏览

image-processing - 单像校正软件

  1. 这个想法是纠正从透视拍摄的单张照片(它不是航拍图像,所以我不能使用地面控制点)。

  2. 在现实生活中将测量街道设施和它们之间的距离,而不是 GCP,因此我会知道一些真实的测量值和距离。

  3. 该照片将每月拍摄一次,以查看是否发生任何变化,因此最好与其他图像进行比较。

  4. 一旦照片(以某种方式)从扭曲和透视中校正,然后我需要提取基本尺寸。- 某种调查。

附件是我可以给出的样本图像(海堤),海堤(固定,所以我能够收集真实的测量值)和砾石,需要测量砾石的地方(增加或减少它)

理想情况下,我正在寻找一个免费且简单的软件,但我愿意接受任何想法。

海堤

0 投票
0 回答
116 浏览

opencv - 使用 orb 进行图像配准 - 扭曲的图像不会改变

我正在尝试注册 2 个类似的图像;但是,在执行我的代码后,我最终得到了确切的参考图片。

我注册这两张图片的主要目的是找到差异,我怎样才能获得差异?

根据评论中的要求:使用 orb 匹配的图像

0 投票
0 回答
67 浏览

image-processing - 用于比较二值图像的度量

我有两个在几何变换上不同的二进制图像(例如,一个图像是图像的旋转版本),我想比较这两个图像以查看它们是否对齐。我应该使用哪个指标?

0 投票
0 回答
402 浏览

opencv - 使用 OpenCV Orb 的图像对齐不成功

我有两张从不同角度拍摄的相同 PCB(印刷电路板)的图像(但不像完全不同)。

我尝试使用 OpenCV 的 Orb 特征检测器对齐两个图像。但结果并不是那么好:从 Orb 特征获得的单应矩阵并没有产生两个对齐的图像。差异图像看起来很糟糕:从一个 PCB 到另一个 PCB 有巨大的转换。然后我使用 cv::matchTemplate() 来消除翻译。但是旋转和投影的效果仍然存在。

这很奇怪,考虑到 Orb 特征查找器(据说它是 SIFT 和 SURF 的一个非常充分的无专利替代品)与图像拼接工作得相当好,其中包含图像对齐作为第一步:拼接中没有可见的接缝由此获得全景,这意味着上述两个图像对齐如此糟糕的情况是完全矛盾的。下面是模板PCB图像、测试图像、图像absdiff(模板-测试注册)和兴趣点图像

希望有人可以对这可能是怎么回事提供一点见解... 模板图像测试图像差异图像关键点2 关键点1

0 投票
0 回答
20 浏览

image-processing - 点与其边界之间的图像配准

我有一张组织图像(左)和其中点的 XY 坐标(右)。

组织图像(左)和其中的点

我想让它们得到相同的参考坐标,这样我就可以获得组织边界的 XY 坐标(即点的坐标系应该与组织的坐标系相匹配)。我不想分割这些点,因为我想使用它们已经存在的坐标表示。如何获得与点匹配的组织(以及其边界)的 XY 坐标?谢谢。

0 投票
1 回答
323 浏览

python - 'cv2' 没有属性'transform'

我正在尝试运行 Harry R. 建议的代码问题的第一个解决方案),但我收到一条错误消息,说cv2没有transform方法:

有人得到这个吗?有什么问题?谢谢