使用 OpenCV 显示带有连接匹配之间连线的图片
可以使用 OpenCV 的 cv2.imshow() 函数来显示图片。需要注意的是,OpenCV 读取的图片是 BGR 顺序,需要将其转换为 RGB 顺序才能正确显示。
以下是修改后的代码:
import cv2
def plot_matches(im1, im2, locs1, locs2, matchscores):
im1_rgb = cv2.cvtColor(im1, cv2.COLOR_BGR2RGB) # 将 BGR 顺序转换为 RGB 顺序
im2_rgb = cv2.cvtColor(im2, cv2.COLOR_BGR2RGB)
im3 = appendimages(im1_rgb, im2_rgb)
cols1 = im1.shape[1]
for i, m in enumerate(matchscores):
if m > 0:
cv2.line(im3, (int(locs1[i][1]), int(locs1[i][0])), (int(locs2[m][1] + cols1), int(locs2[m][0])), (0, 255, 255), 1)
cv2.imshow('Matches', im3)
cv2.waitKey(0)
cv2.destroyAllWindows()
原文地址: https://www.cveoy.top/t/topic/knrN 著作权归作者所有。请勿转载和采集!