Opencv(3.10)android-如何绘制对象的轨迹

时间:2016-12-08 13:54:55

标签: android opencv4android opencv3.1

我在大学里有一个项目,我必须根据它的颜色绘制一个物体的轨迹。正在构建基于colorBlobDetection。这是我到目前为止的代码的一部分:

 public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
    mRgba = inputFrame.rgba();


    if (mIsColorSelected) {
        mDetector.process(mRgba);
        List<MatOfPoint> contours = mDetector.getContours();
        Log.e(TAG, "Contours count: " + contours.size());
        Imgproc.drawContours(mRgba, contours, -1, CONTOUR_COLOR);

        List<Moments> mu = new ArrayList<Moments>(contours.size());

        for (int i = 0; i < contours.size(); i++) {
            mu.add(i, Imgproc.moments(contours.get(i), false));
            Moments p = mu.get(i);
            int xContour = (int) (p.get_m10() / p.get_m00());
            int yContour = (int) (p.get_m01() / p.get_m00());
            Point ponto = new Point(xContour, yContour);
            //Imgproc.line(mRgba, ponto, ponto, CONTOUR_COLOR, 5, Imgproc.LINE_AA, 0);
        }

目前,我正在拾取每个轮廓的中心。

通过轮廓的位置,我想在移动时绘制轨迹

聚苯乙烯。这个&#39; Imgproc.line&#39;只是为了测试每个轮廓的中心是否正确。

请帮忙。

0 个答案:

没有答案