我正在尝试检测球并为其绘制边界。它显示错误
def findWholeWord(w1,w2):
return re.compile(r'\b{0}(?:\W+\w+){{0,10}}\W+{1}\b|\b{1}(?:\W+\w+){{0,10}}\W+{0}\b'.format(w1,w2), flags=re.IGNORECASE).search
错误就在这里,
segmentation fault (core dumped)
我无法理解哪里有段错误。
答案 0 :(得分:2)
在findContours之后声明其他向量,如下所示。如需进一步参考,请参阅here。希望这能解决你的错误。我遇到了同样的错误,并在我提到的链接中得到了解决方案。
findContours( itt, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0) );
vector<vector<Point> > contours_poly( contours.size() );
vector<Point2f>center( contours.size() );
vector<float>radius( contours.size() );
vector<Rect> boundRect( contours.size() );
答案 1 :(得分:1)
你先做 vector boundRect(contours.size()); 在这里,轮廓仍然是空的。 然后调用findContours,它计算并设置轮廓的大小, 然后你尝试直接将它写入boundRect [i]。
只需调用boundRect.push_back(boundingRect(Mat(contours_poly [i])));相反,那你应该没事。
如果你正在做原型代码,通常更好的调试使用boundRect.at(i)= ...,因为这会给你一个可理解的错误,例如&#34;超出范围&#34;。 / p>