2016-07-27 28 views
1

C++を使用してイメージ内の輪郭線を検出できました。しかし、私はAndroidでjava langを使ってそれを変換したい。だから、私はアンドロイドスタジオを使ってそれを作る。 (輪郭が[contourIdx] .size(あれば)OpenCV:輪郭検出Android contourldxの問題

: (私はJAVAの初心者です一因)

は、その後、私はそれを実行すると、私はこのコードのエラーの問題を抱えていた、いくつかの問題を発見しました> 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; 
} 
} 

うまくいけば、誰かがこれについていくつかの経験を持っています。おかげで..

+0

おい、それを試してみてください:D –

答えて

0

は、エリアのコンセプトを使用し

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()); 
     } 
あなたがhttp://www.filtrlink.comから取得し、検索ボックス
+0

おかげでOpenCVのために検索することができ、いくつかの本からオープンCVについて学ぶことができ –

+0

その仕事のおかげで..:D –

+0

本当にうまくいけば、バグW –