Featured image of post 抽出した輪郭の描画

抽出した輪郭の描画

本記事はQrunchからの転載です。


OpenCVのfindContoursで見つけた輪郭はdrawContoursで簡単に描画できます。 次のようにして使えます。

drawed = cv2.drawContours(img, 
                          contours=contours,
                          contourIdx=-1,
                          color=(255, 0, 0),
                          thickness=10,
                          lineType=8,
                          hierarchy=hierarcies,
                          maxLevel=1)

引数の意味はそれぞれ次のとおりです。必須なのはcolorまでです。

引数 意味
contours findContoursで見つかった輪郭
contourIdx 描画する輪郭のインデックスを指定する(-1だと全て描画)
color 描画する輪郭の色
thickness 描画する輪郭の太さ
lineType 4、8、cv2.LINE_AAのどれかを指定し、後のほうがきれいに描画される
hierarchy findContoursで見つかった輪郭の階層構造
maxLevel 描画する最大の階層を指定する

maxLevelを1にしたときと、2にしたときの違いを次に示します。

maxLevel=1 maxLevel=2

maxLevelが2のときには外側の輪郭の中まで輪郭が描画されていますね。

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。