Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 匹配同一对象的两个不同图像_Python_Image_Opencv - Fatal编程技术网

Python 匹配同一对象的两个不同图像

Python 匹配同一对象的两个不同图像,python,image,opencv,Python,Image,Opencv,我正在看一个应用程序,其中我有两张来自使用x射线采集的单个对象(智能手机)的图像。这两幅图像是在不同的时刻获得的。因此,这两幅图像的强度内容不同,我希望能够融合这两幅图像,以提取有关手机的一些信息 在这两幅图像之间,设置略有改变,因此手机在这两幅图像中的像素值不同。为了能够正确比较这两幅图像,我需要翻译和旋转手机的图像,使它们尽可能重叠 为此,我使用python和OpenCV(cv2)。我想使用一个阈值,然后找到两个阈值图像的坐标,并使用坐标将黄色图像映射到红色图像上(或相反)。附件中的图片显

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

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

为此,我使用python和OpenCV(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是使用第一滤波器获取的一个图像,模板是使用第二滤波器获取的图像。在黄色和绿色图像中,可以分别看到手机处于不同的位置

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

我一直在寻找模板匹配,但目前我没有成功

Hei, 图像注册成功了,谢谢!我遵循了以下教程: 并设法做到我想要的

谢谢!
Greg

请同时发布原始图像Shei,出于保密原因,我无法显示这些图像,因此我会显示x光图像,并相应地编辑文本。不管怎么说,目的都是一样的,设法对齐两个图像。有没有关于如何解决这个问题的帮助?Google“Image registration”Hei,它的工作原理如下: