这个报错是因为在 imshow 函数中传入的图像数据超出了合法范围。可能是图像数据类型不是 float 或 uint8,或者像素值超出了 0-1 或 0-255 的范围。 解决方法是将图像数据类型转换为合适的类型,并将像素值缩放到合法范围内。可以使用 cv2.normalize 函数将像素值归一化到 0-1 范围内,或使用 astype 函数将像素值转换为 uint8 类型。例如:

img1 = cv2.normalize(img1, None, 0, 1, cv2.NORM_MINMAX)
img2 = cv2.normalize(img2, None, 0, 1, cv2.NORM_MINMAX)
img1 = (img1 * 255).astype(np.uint8)
img2 = (img2 * 255).astype(np.uint8)

这样就可以避免这个报错了。

OpenCV 角点检测和特征匹配:解决 imshow 报错

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

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