嗨,我尝试了简单的级联人员检测,并且我想使用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/