【问题标题】:OpenCV : Contour Detection Android contourldx problemsOpenCV:轮廓检测 Android contourldx 问题
【发布时间】:2016-07-27 18:53:45
【问题描述】:

我能够使用 C++ 检测图像中的轮廓。但是,我想使用 java lang 在 Android 中转换它。所以,我使用android studio制作它。 (部分是因为我是 JAVA 新手)

然后我发现了一些问题,当我运行它时,我遇到了这段代码的错误问题:

if(轮廓[contourIdx].size()>100)

在这个主程序中。

 @Override
    public void onCameraViewStarted(int width, int height) {
        mRgba = new Mat(height, width, CvType.CV_8UC4);
        mHsv = new Mat(height,width,CvType.CV_8UC3);
        hierarchy = new Mat();
        mHsvMask = new Mat();
        mDilated = new Mat(height, width, CvType.CV_8UC4);
    }
@Override
public void onCameraViewStopped() {
    mRgba.release();
    mHsv.release();
    mHsvMask.release();
    mDilated.release();
    hierarchy.release();

}

@Override
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
    mRgba =inputFrame.rgba();
    mHsv = new Mat();

    Imgproc.cvtColor(mRgba, mHsv, Imgproc.COLOR_RGB2HSV, 3);
    hierarchy.release();
    Scalar lowerThreshold = new Scalar ( 120, 100, 100 ); 
    Scalar upperThreshold = new Scalar ( 179, 255, 255 ); 
    Core.inRange ( mHsv, lowerThreshold , upperThreshold, mHsvMask );

    Imgproc.dilate ( mHsvMask, mDilated, new Mat() );
    Imgproc.findContours(mDilated, contours, hierarchy, Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);

    for ( int contourIdx=0; contourIdx < contours.size(); contourIdx++ )
    {
        if(contours[contourIdx].size()>100)  // Minimum size allowed for consideration
        {
            Imgproc.drawContours ( mRgba, contours, contourIdx, new Scalar(0,255,0) , -5);
        }
    }
    return mRgba;
}
}

希望有人对此有一些经验。谢谢..

【问题讨论】:

  • 可以从filtrlink.com获取的一些书籍中了解open cv,并在搜索框中搜索opencv

标签: java android opencv opencv4android opencv-contour


【解决方案1】:

使用区域概念

 if(Imgproc.contourArea(contours.get(contourIdx))>100) {
             Imgproc.drawContours(mRgba, contours, contourIdx, new Scalar(Math.random() * 255, Math.random() * 255, Math.random() * 255), 1, 8, hierarchy, 0, new Point());
         }

【讨论】:

  • 如果它真的有效并且对你有帮助,请勾选答案 Bagus W
猜你喜欢
  • 1970-01-01
  • 2019-05-29
  • 2014-07-27
  • 1970-01-01
  • 1970-01-01
  • 2016-10-24
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多