<unknown> 不是 numpy 数组错误
我正在尝试对一张图片进行阈值处理,但遇到了以下错误:
类型错误:'unknown' 不是一个 numpy 数组
这个错误出现在 cv2.imshow() 这一行。
这是我的代码:
import cv2
import numpy as np
img = cv2.imread('...',0)
img2 = cv2.imread('...',0)
fImg = cv2.addWeighted(img.astype(np.float32), 0.9, img2.astype(np.float32), 0.1, -20.0)
th = cv2.threshold(fImg, 127, 255, cv2.TRESH_BINARY)
cv2.imshow('th', th)
cv2.waitKey(0)
cv2.destroyAllWindows
提前感谢你的帮助!
1 个回答
4
cv2.threshold 函数会返回一个包含两个部分的结果,分别是 (retval, dst)。其中,dst 是经过处理后的矩阵。你需要把 dst
传给 cv2.imshow
函数,而不是直接使用返回的整个结果,记得先检查一下 retval
是否有效哦。
retval, th = cv2.threshold(fImg, 127, 255, cv2.TRESH_BINARY)
if retval:
cv2.imshow('th', th)