请清楚我在android和java方面是新手,我用过这段代码,但不知道这四个变量Imgproc.connectedComponentsWithStats(binarized, labeled, rectComponents, centComponents);是什么意思。
Mat tmp = new Mat(bmp.getWidth(), bmp.getHeight(), CvType.CV_8U);
Utils.bitmapToMat(bmp, tmp);
Imgproc.cvtColor(tmp, tmp, Imgproc.COLOR_RGB2GRAY);
Imgproc.threshold(tmp, tmp, 40, 255, Imgproc.THRESH_BINARY);
Imgproc.GaussianBlur(tmp, tmp, new org.opencv.core.Size(5, 5), 0 , 0);
Imgproc.threshold(tmp,tmp,130,255,Imgproc.THRESH_OTSU);
Utils.matToBitmap(tmp, bmp);
imageView.setImageBitmap(bmp);```
I want to get connected components with stats of tmp.发布于 2020-06-22 02:32:55
谢谢大家,我在回答我自己的问题。我已经找到了怎么做这件事。int a = Imgproc.connectedComponentsWithStats(image,labels,stats,centroid);此函数返回一个整数,它是传递给函数(第一个参数)的图像(Mat OpenCV)中已连接组件的数量。
labels是一个Mat数据类型数组,其大小与输入图像相同,每个像素的值被标记为原始图像中该像素的值
质心是每个标签(x,y)的质心。
stats告诉我们标签的面积和位置(返回最左边的像素,最上面的像素,宽度,高度)
https://stackoverflow.com/questions/62494917
复制相似问题