1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶ画像処理

Connected

演習

サイコロ画像のドットを数える

輪郭が見つかったので、そこから情報を取り出していきます。

前の演習では、紫色のサイコロ画像から輪郭を検出できるよう前処理しました。

輪郭検出の手順を示す3枚の画像

今回は、画像内のドットの数を数えて、サイコロの出目を判定します。

前の演習で検出した輪郭は contours として読み込まれています。

すべての輪郭の形状をリストにした shape_contours を作成してください。作成後にコンソールで shape_contours を表示すると、各輪郭の形状を確認できます。

ほとんどの輪郭がサイズ 50 を超えないことを確認してください。これらを数えると、画像内のドットの数と一致します。

show_image_contour(image, contours) は、Matplotlib を使って検出したすべての輪郭付き画像を表示する、あらかじめ用意された関数です。

指示

100 XP
  • shape_contours を、contours のすべての輪郭の形状からなるリストにします。
  • max_dots_shape を 50 に設定します。
  • 輪郭の形状に対する条件として、ドットの最大形状サイズ max_dots_shape を用います。
  • サイコロの出目を出力します。