gpt4 book ai didi

python - 使用 Python 在两个图像中查找匹配的数据点

转载 作者:行者123 更新时间:2023-12-03 18:53:00 24 4
gpt4 key购买 nike

我有两个图像,即图 1 和图 2。两者取自同一来源但未对齐。任务是在这两个图像中找到共同的数据点,并在两个图像中匹配的数据点之间画线。我看这个图应该像图 4。
到目前为止,我已经使用了 OpenCV 并编写了以下代码:

import cv2 
import matplotlib.pyplot as plt

img_file1= "Fig_1.png"
img_file2= "Fig_2.png"
img1= cv2.imread(img_file1)
img2= cv2.imread(img_file2)

img1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)

figure, ax = plt.subplots(1, 2, figsize=(16, 8))

ax[0].imshow(img1, cmap='gray')
ax[1].imshow(img2, cmap='gray')

#sift
sift = cv2.xfeatures2d.SIFT_create()

keypoints_1, descriptors_1 = sift.detectAndCompute(img1,None)
keypoints_2, descriptors_2 = sift.detectAndCompute(img2,None)

#feature matching
bf = cv2.BFMatcher(cv2.NORM_L1, crossCheck=True)

matches = bf.match(descriptors_1,descriptors_2)
matches = sorted(matches, key = lambda x:x.distance)

img3 = cv2.drawMatches(img1, keypoints_1, img2, keypoints_2, matches[:50], img2, flags=2)
plt.imshow(img3),plt.show()
这给出了不是预期的结果,见图 4。加上看起来相当困惑和不清楚。
任何人都可以帮助我如何做到这一点?提前致谢。
图。1
enter image description here
图2
enter image description here
img3
enter image description here
图 3
enter image description here

最佳答案

这种转变似乎纯粹是翻译性的。尝试通过归一化灰度相关进行模板匹配。

关于python - 使用 Python 在两个图像中查找匹配的数据点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66561967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com