嗨,我尝试了简单的级联人员检测,并且我想使用cv2.groupRectangles(),但是每当我使用它时,它就会崩溃:

** OpenCV错误:断言失败(channels()== CV_MAT_CN(dtype)),未知函数,文件...... \ src \ opencv \ modules \ core \ src \ copy.cpp,第212行

该应用程序已请求运行时以异常方式终止它。
请与应用程序的支持团队联系以获取更多信息。**


我的代码:

    rects = cascade.detectMultiScale(img, scaleFactor=1.05, minNeighbors=3, minSize=(minSize, minSize), maxSize=( maxSize,  maxSize), flags=cv.CV_HAAR_DO_CANNY_PRUNING)
    #print rects
    rectList, weights = cv2.groupRectangles(rects, 1, 0.2)
    if len(rects) == 0:
            return []
    rects[:,2:] += rects[:,:2]
    return rects

一切正常,直到使用groupRectangles为止。

最佳答案

您可以尝试将rects从numpy.array转换为list。

    rectList, weights = cv2.groupRectangles(np.array(rects).tolist(), 1, 0.2)

那对我有用。

关于python - GroupRectangles Opencv无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21689804/

10-10 04:30