我想问一下关于groupRectangles函数的问题。
我正在用python编写以下代码-
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#defining the face
thresh=1
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
print faces
faces_1,weights=cv2.groupRectangles(faces, thresh)其中,vec是从detectMultiscal步骤返回的recl,1是groupThreshold,eps是0.2
但它在执行时抛出了一个运行时错误。我尝试使用try运行代码,但它仍然抛出相同的错误。
Runtime Error!
Program:C:\Python27\pythonw.exe
This application has requested the Runtime to terminate it in an unusual way.如果有人能提供一些用python编写的示例grouprectangle代码,这将是非常有帮助的,这样我就可以使我的工作代码具有相同的格式,因为在此代码的文档中,我找不到任何示例。
干杯!
发布于 2014-05-01 17:50:17
我也有同样的问题。我设法让它不会崩溃(但我不知道结果是否准确),方法是将其转换为“列表”:
cv2.groupRectangles(list(rectVec), thresh)发布于 2014-01-23 17:18:46
关于这两个函数的文档如下:
cv2.CascadeClassifier.detectMultiScale(image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]) → objects¶
cv2.groupRectangles(rectList, groupThreshold[, eps]) → rectList, weights这建议使用以下用法:
casc = cv2.CascadeClassifier(filename)
rectVec = casc.detectMultiScale(im)
thresh = 1
rectList, weights = cv2.groupRectangles(rectVec, thresh) # eps is optional我刚刚仔细检查了上面的代码是否能为我工作。确保您的OpenCV版本和Python绑定是最新的(我的OpenCV版本是2.4.6.1),并且您的所有输入都具有正确的格式(分类器文件、输入图像)。
发布于 2020-04-09 16:57:11
如果有人还在寻找关于边界框合并的问题。形态学是你需要理解的。注意:不要使用随机颜色来产生随机边界框。除非您想手动完成,否则形态学技术将失败。
https://docs.opencv.org/3.4/db/df6/tutorial_erosion_dilatation.html
https://stackoverflow.com/questions/21303374
复制相似问题