如何使用opencv在android java中获取具有统计信息的connectedComponents,以及如何使用这些统计信息获取左点,右品脱,质心,面积等

请清除我是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,40,255,Imgproc.THRESH_BINARY);

        Imgproc.GaussianBlur(tmp,new org.opencv.core.Size(5,5),0);

        Imgproc.threshold(tmp,130,Imgproc.THRESH_OTSU);

        Utils.matToBitmap(tmp,bmp);
        imageView.setImageBitmap(bmp);```

I want to get connected components with stats of tmp.
iCMS 回答:如何使用opencv在android java中获取具有统计信息的connectedComponents,以及如何使用这些统计信息获取左点,右品脱,质心,面积等

谢谢大家,我在回答我自己的问题。我已经找到方法。 int a = Imgproc.connectedComponentsWithStats(image,labels,stats,centroid); 该函数返回一个整数,该整数是传递给函数(第一个参数)的图像(Mat OpenCV)中已连接的组件数。

labels是一个Mat数据类型数组,其大小与输入图像的大小相同,每个像素的值是原始图像中该像素的标签

质心是每个标签(x,y)的质心。

stats告诉我们标签的区域和标签的位置(返回最左边的像素,最上面的像素,宽度,高度)

本文链接:https://www.f2er.com/2089101.html

大家都在问