我在Android Studio中使用Opencv 2.4.10,而且仅在Opencv 3.0及更高版本中使用了connectedComponents方法。我想知道是否有类似的方法可以用来替换connectedComponents()以及方法是什么。
我正在开发一个实时应用程序,可以使用Android摄像头跟踪路过的人。目前,我可以从背景中提取前景(或分段运动)。但是一些检测到的前景被分成了几个部分,所以我需要connectComponents()方法来连接应该组合在一起的blob。但就像我之前说的那样,我的Opencv版本没有。请帮忙。
这只是我的代码片段:
Core.absdiff(frameGray, bgModelGray, differenceGray);
differenceGray.convertTo(mGray, CvType.CV_8UC1) ;
Imgproc.threshold(mGray, mGray, 0, 255, Imgproc.THRESH_OTSU);
Mat erodeElement = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(5, 5), new Point(3, 3));
Mat dilateElement = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(3, 3));
Imgproc.erode(mGray, mGray, erodeElement);
Imgproc.dilate(mGray, mGray, dilateElement);
contours.clear();
Imgproc.findContours(mGray, contours, hierarchy, Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_SIMPLE);
Imgproc.drawContours(mRgba, contours, -1, new Scalar(0, 0, 255), 2);
This is a screenshot after the dilation, contours are not yet added here