2017-07-10 8 views
0

私は単純な円のエッジを見つけるためにCannyエッジ検出アルゴリズムを試します。OpenCV :: Canny Edge Detectionの結果を処理する方法

cv:: Canny() 

機能は

cv::Mat edge 

を返します。しかし、私はこれらの "エッジ" を使用する方法がわかりません。

私の目標は、元の画像に戻す「エッジ」を描き、そのエッジ内の情報読んで、私はCV ::リード機能に目を通す

(この場合は、エッジが円である)と、エッジではないdrawContour関数しか見つからない。

また、円の内側の部分について何かできるように、エッジの座標を見つける方法もありません。

私はopenCVを初めて使用しましたが、どんな提案もありがとうございます。

答えて

1

edgesは、ソース画像と同じサイズの配列(MAT)であり、キャニー関数あなたは白いによって(元画像のエッジを強調することができる

を見つけたエッジでゼロ画素と最大値(255)画素を含みます色)、bitwise_or(私の)エッジで動作しています。または、エッジをカラー画像に変換してカラーエッジを描画します。 Hereは、エッジをマスクとして使用する例です。

エッジはラスタの結果です。セグメントのセットを取得するには、edgesに関数を使用し、drawContoursを使用することができます。

この情報はうまくいくことに注意してください。

0

cv :: Matオブジェクトをトラバースする方法を知る必要があります。 http://docs.opencv.org/2.4/doc/tutorials/core/how_to_scan_images/how_to_scan_images.html#the-efficient-way

以外にも、私はuがこのライブラリの基本的な使い方をマスターするためにOpenCVのを学ぶ本の最初の数章を読むことをお勧め、今第三版があります。また、「InstallPath \ opencv \ sources \ samples」と公式チュートリアルで多くの例を見つけることができます:http://docs.opencv.org/2.4/doc/tutorials/tutorials.html

関連する問題