使用 OpenCV 显示带有连接匹配之间连线的图片
可以使用 OpenCV 库中的 cv2.imshow() 函数来显示图片。需要注意的是,cv2.imshow() 函数默认使用 BGR 顺序,因此需要将输入的 RGB 图像转换为 BGR 顺序。
下面是使用 cv2.imshow() 函数显示图片的修改后的代码:
import cv2
def plot_matches(im1, im2, locs1, locs2, matchscores):
im1_bgr = cv2.cvtColor(im1, cv2.COLOR_RGB2BGR) # 将 RGB 顺序转换为 BGR 顺序
im2_bgr = cv2.cvtColor(im2, cv2.COLOR_RGB2BGR)
im3 = appendimages(im1_bgr,im2_bgr)
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/knrL 著作权归作者所有。请勿转载和采集!