【问题标题】:Matching two different images of the same object匹配同一对象的两个不同图像
【发布时间】:2018-03-15 09:03:45
【问题描述】:

我正在研究一个应用程序,其中我有来自使用 X 射线获取的单个对象(智能手机)的两个图像。这两个图像是在不同的时刻获得的。因此,这两个图像的强度内容是不同的,我希望能够融合这两个图像以提取有关手机的一些信息。

在两张图片之间,设置略有改变,因此手机在两张图片中的像素值不同。为了能够正确比较这两个图像,我需要平移和旋转手机的图像,使它们尽可能重叠。

为此,我使用 python 并打开 cv (cv2)。我正在考虑使用阈值,然后找到两个阈值图像的坐标,并使用坐标将黄色图像映射到红色图像(或相反)上。附图显示了我到目前为止所获得的。

伪代码如下:

ret1, thresh1 = cv2.threshold(img1.astype(np.uint8),200,255,cv2.THRESH_BINARY_INV)
ret2, thresh2 = cv2.threshold(template.astype(np.uint8),200,255,cv2.THRESH_BINARY_INV)

plt.figure(1)
plt.subplot(121)
plt.imshow(thresh1)
plt.subplot(122)
plt.imshow(thresh2)
plt.show()

其中 img1 是使用第一个过滤器获取的图像,模板是使用第二个过滤器获取的图像。可以看到手机在黄色和绿色图像中分别位于不同的位置。

我的问题是如何执行下一步。我怎样才能找到这个阈值图像的坐标,然后叠加两部手机的图像?这是正确的策略还是有更好的解决方案?

我一直在看this link 的模板匹配,但目前我没有成功。

【问题讨论】:

  • 请同时发布原始图片
  • 嘿,出于保密原因,我不能显示这些图像,所以我显示 X 射线图像并相应地编辑文本。目的是一样的,设法对齐两个图像。
  • 对如何解决这个问题有任何帮助吗?
  • 谷歌“图像注册”
  • 嘿,它按照这个例子工作:learnopencv.com/tag/image-registration

标签: python image opencv


【解决方案1】:

嘿, 图像注册成功了,谢谢!我按照以下教程进行操作: image-registration 并设法做我想要的。

谢谢! 格雷格

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    相关资源
    最近更新 更多