はじめに
scikit-imageライブラリには、画像処理のための様々な機能が用意されています。その中でも、skimage.drawモジュールのrandom_shapes関数は、テスト画像や教育目的のためにランダムな図形を自動生成できる便利なツールです。この記事では、random_shapes関数の基本的な使い方から応用例まで、実践的なコード例と共に解説します。
コード

解説
モジュールのインポート
白黒の四角形の生成
128×128の画像中において、任意の位置に任意の大きさの四角が生成します。
resultは、imageとlabelsの2つの要素で構成されており、imageには生成された画像が、labelsにはそれぞれの図形の種類に関する情報が含まれています。
図形の色の明るさの指定
intensity_rangeパラメータを変更することで、RGBの取りうる値の範囲を指定できます。image1は200~255の範囲に設定されているため明るい色になります。一方、image4は0~255の範囲であるため、暗い色も含まれています。
重なり合う画像
allow_overlap=Trueで画像を重なり合わせることができます。
図の表示
コードをダウンロード(.pyファイル)
コードをダウンロード(.ipynbファイル)
まとめ
skimage.draw.random_shapes関数を使うことで、円、三角形、長方形などのランダムな図形を含む画像を簡単に生成できます。図形の数、サイズ、色、種類などを調整することができ、画像処理アルゴリズムのテストや教育用途に非常に有用です。また、背景色や重なりの設定も可能で、様々な条件での画像生成に対応できる柔軟性を持っています。
参考
Random Shapes — skimage 0.25.2 documentation
コメント