我正在尝试对图像应用阈值,但是我收到以下错误:
TypeError:'未知'不是一个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
提前感谢您的帮助!
答案 0 :(得分:4)
cv2.threshold返回一个元组(retval,dst),其中dst是变换后的矩阵。在检查dst
是否有效后,您需要将cv2.imshow
传递给retval
而不是返回的tupled
retval, th = cv2.threshold(fImg, 127, 255, cv2.TRESH_BINARY)
if retval:
cv2.imshow('th', th)