小编LkD*_*Dev的帖子

如何使用javacv/opencv识别黑色多边形上的点?

我试图识别这个黑色多边形周围的轮廓,我需要访问这些点,但它不适合我.这是输入图像 在此输入图像描述

但是,当我尝试执行以下代码时,它没有给出预期的结果,这意味着它应该.

        CanvasFrame cnvs=new CanvasFrame("Polygon");
        cnvs.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

        CvMemStorage storage=CvMemStorage.create();
        CvSeq squares = new CvContour();
        squares = cvCreateSeq(0, sizeof(CvContour.class), sizeof(CvSeq.class), storage);
        String path="project/Test/img/black.png";
        IplImage src = cvLoadImage(path);
        IplImage gry=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,1);
        cvCvtColor(src, gry, CV_BGR2GRAY);
        cvThreshold(gry, gry, 230, 255, CV_THRESH_BINARY_INV);
        cnvs.showImage(gry);
        cvFindContours(gry, storage, squares, Loader.sizeof(CvContour.class), CV_RETR_LIST, CV_CHAIN_APPROX_NONE);
        CvSeq ss=null;
        CvSeq tmp=null;
        int ii=0;
            for (ss=squares; ss!=null; ss=ss.h_next()) {
                tmp=cvApproxPoly(ss, sizeof(CvContour.class), storage, CV_POLY_APPROX_DP, 8, 0);
                System.out.println("index "+ii+" points "+tmp.total()+" area "+cvContourArea(ss, CV_WHOLE_SEQ, 0));
                cvDrawContours(src, ss, CvScalar.RED, CV_RGB(248, 18, 18), 1, -1, 8);
                //drawPoly(src, tmp);
            }
        IplConvKernel …
Run Code Online (Sandbox Code Playgroud)

opencv image-processing javacv

5
推荐指数
1
解决办法
609
查看次数

javacv中cvScalar构造函数的四个参数是什么意思?

请问有人能解释一下javacv中cvScalar(double d,double d1,double d2,double d3)四个参数的含义吗?

如何在cvScalar中表示黑色?

java javacv

1
推荐指数
1
解决办法
9605
查看次数

标签 统计

javacv ×2

image-processing ×1

java ×1

opencv ×1