[DOBOT Robot Vision Kit] 円の検出

Robot Vision KitはDOBOT MagicianやDOBOT M1でビジョンシステムを素早く作成することができます。今回はその中でもよく使われる円検出について解説します。

円検出を試す

円検出にはFind Circleという関数を使用します。まずは円検出を使用します。カメラ映像から円を検出する場合以下のようにブロックを並べ実行します。

 

 

 

 

 

 

以下のような円を検出してみます。

検出結果は以下のようになります。

 

 

 

 

パラメータ

今回の例では白い背景に黒い円を描いており円検出がしやすい環境でした。例えば基板上に空いている穴の検出などを行いたい場合,誤検出を防ぐために円の大きさの範囲などのパラメータを調整する必要があると考えられます。

その際の助けになるよう,以下にFind Circleの各パラメータの解説を記載させていただきます。

Radius Range:検出する円の最小の半径と最大の半径

Search mode:以下3種類あります。

・max contrast mode

・max. radius mode

・min. radius mode

Edge Polarity:以下3種類あります。

・ dark to light:黒から白へのエッジを使用(黒い円を認識)

・light to dark:白から黒へのエッジを使用(白い円を認識)

・any:上両方のエッジを使用

Contrast Threshold:エッジ点を検出するときのエッジとみなす閾値(0~255)。大きいとノイズに強くなり、小さいと多くのエッジ点を検出できます。

Filter Size:

Calipers Number:

Number to Ignore:

Distance to Ignore:

Caliper Length:

Subsampling coefficient:

Locating Sensitivity:

Initial Fit Type:

・ global fit

・ local optimum

Fit Mode :

・ least squares

・huber

・tukey

注意

この関数は同時に1つの円しか認識できません。複数の円を検出したい場合はloop関数を一緒に使用する必要があります。