2016-07-27 9 views
0

EmguとOpenCVを学び始めました。だから、愚かな質問かもしれません。 Emguのドキュメント(リンクhttp://www.emgu.com/wiki/files/3.1.0/document/html/cb24a129-d9ce-57f3-19ad-0eaa27a77317.htmを参照)を見ると、私は例を見つけることができません。しかし、私はあなたがEmgu、.FindContours()とCvInvoke.FindContours()の違いは何ですか?

CvInvoke.FindContours(...) 

の形でそれを使用しかし、私はstackoverflowのを検索するとき、私はこの人がちょうどenter link description here

grayImage.FindContours() 

しかし彼のコードの中間下部に次の形式を使用したと仮定します私が後で試したとき、ビジュアルスタジオはそれを受け入れません。 (つまり、私がgrayImage.Fをタイプしたときに、ポップアップには単にFindContours関数がありません)。

私は最新のopencvとemguを使用しています。何か案は?

答えて

1

最新のバージョンを使用しています。関数FindContoursは()Imageクラスから削除されますが、まだCvInvokeクラスの一部であるされていることを

あなたが見ることができるバージョン 2.43.1 のドキュメントで簡単に見を持っている場合は、。

あなたが見た構文を持つことを主張した場合、あなた自身の拡張を追加することができます。

public static class Extension 
{ 
    public static VectorOfVectorOfPointF FindContour(this UMat img,Mat hierarchy = null, Emgu.CV.CvEnum.RetrType type = Emgu.CV.CvEnum.RetrType.List,Emgu.CV.CvEnum.ChainApproxMethod method = Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple ) 
    { 
     VectorOfVectorOfPointF contours = new VectorOfVectorOfPointF(); 
     CvInvoke.FindContours(img, contours, hierarchy, type, method); 
     return contours; 
    } 

} 

これはC#でちょうどサンプル拡張..です

+1

注 'VectorOfVectorOfPointFが' '例外をスローすることを'VectorOfVectorOfPoint'はそうではありませんが、(mtype == type0 ||(CV_MAT_CN(mtype)== CV_MAT_CN(type0)&&((1 << type0)&fixedDepthMask)!= 0))'とにかくこのオブジェクトをどうやって使うのかまだ分かりませんが –

関連する問題