我的问题如何在Android Watershed OpenCv中计算图像中的对象?
答案 0 :(得分:0)
既然你没有告诉我们哪一行导致了这些问题,但我强烈认为你滥用了erode()和dilate()。
你应该使用有效的非零矩阵传递每个函数的第三个参数。(例如内核)
侵蚀&扩张的例子
// You can change the size of kennel
// if you want to change the range of erosion & dilation
Mat kelnel = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(2,2));
Mat fg = new Mat(img.size(),CvType.CV_8U);
Imgproc.erode(threeChannel, fg, kelnel);
Mat bg = new Mat(img.size(),CvType.CV_8U);
Imgproc.dilate(threeChannel, bg, kelnel);