可以使用 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()
使用 OpenCV 显示带有连接匹配之间连线的图片

原文地址: https://www.cveoy.top/t/topic/knrN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录