在这段代码中,我试图对图像进行积分,每次运行这段代码时,窗口都会闪烁并消失,然后我在终端中收到此错误
import cv2
import numpy as np
image = cv2.imread("nancy.jpg")
(rows,cols,dims) = image.shape
sum = np.zeros((rows,cols), np.uint8)
imageIntegral = cv2.integral(image, sum, -1)
cv2.imshow("imageIntegral", imageIntegral)
cv2.waitKey()
错误:
cv2.imshow(“imageIntegral”,imageIntegral)cv2.error: OpenCV(4.1.0) C:/projects/opencv-python/opencv/modules/highgui/src/precomp.hpp:131:
错误:(-215:断言失败)函数“convertToShow”中的 src_depth != CV_16F && src_depth != CV_32S
原文由 N.Elsayed 发布,翻译遵循 CC BY-SA 4.0 许可协议
关于 cv2.integral 的帮助:
一个简单的演示:
而且你不应该直接在 dst 图像上使用 imshow,因为它不是 np.uint8。将其规范化为
np.uint8
(范围 0 到 255)或np.float32
(范围 0.0 到 1.0)。你可以在这个链接找到原因: How to use `cv2.imshow` correctly for the float image returned by `cv2.distanceTransform`?