-1

我试图使用和图像的轮廓,当我尝试以下操作时,它给出了错误。我确定这是因为 24,因为我使用了另一个数字,例如 45,它会接受它。其余的代码还可以,所以我没有写。

ret, thresh = cv2.threshold(angray, 251 , 190,  24)

错误如下

error: (-215:Assertion failed) automatic_thresh != (CV_THRESH_OTSU | CV_THRESH_TRIANGLE) in function 'cv::threshold'

完整的代码以防万一你们想看到它是这个:

import cv2
ancolor = cv2.imread("Anonymous.jpg")
angray = cv2.cvtColor(ancolor, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(angray, 251 , 190,  24)
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
print("Number of contours" + str(len(contours)))
cv2.drawContours(ancolor, contours, -1, (0, 255, 0), 3)
cv2.imshow("AnColor", ancolor)
cv2.imshow("AnGray", angray)
cv2.waitKey()

非常感谢,第一次在 StackOverflow 上提问。谢谢。

4

1 回答 1

1

根据https://docs.opencv.org/3.4.3/d7/d1b/group__imgproc__misc.html#gae8a4a146d1ca78c626a53577199e9c57

retval, dst = cv.threshold(src, thresh, maxval, type[, dst])

我不确定你想做什么ret, thresh = cv2.threshold(angray, 251 , 190, 24)
24不是一个有效的type论点

于 2020-06-22T12:48:42.093 回答