2

私は画像を持っており、OpenCVを使用してその画像内の輪郭を見つけています。例えば:

contours, hierarchy = cv2.findContours(image, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)

返される各輪郭は、非常に不規則な形状になることがあります。たとえば、そのうちの1つのリターンは次のとおりです。

contour = [[[34  4]]
[[35  3]]
[[36  4]]
[[36 11]]
[[35 12]]
[[34 11]]
[[34  6]]
[[33  6]]
[[32  5]]
[[33  4]]]

この輪郭の内部を特定の色に設定したいと思います。cv2.BoundingRectを使用してこの輪郭の境界矩形を取得し、それを使用して色を設定しようとしましたが、実際の輪郭を使用してこれを行うより正確な方法が必要です。

OpenCVが提供する関数を介して、またはNumPyを介してこれを行う簡単な方法はありますか?

4

1 に答える 1

2

フラグ付きのcv2.drawContours()関数を使用する(ドキュメントlineType = -1

例:cv2.drawContours(img、[cnt]、0、color、-1)#特定の輪郭の内側を塗りつぶす場合

また

cv2.drawContours(img、contours、-1、color、-1)#1つのステップですべての輪郭の内側を塗りつぶす

詳細については、次を参照してください:輪郭-1:はじめに

于 2012-07-14T16:11:09.410 に答える