はじめに 数ヶ月前に、このツイートが目に留まりました。 非常に魅力的で、自分でも作りたいと思ったのですが、アルゴリズムや実装が公開されているにもかかわらず、実際にやっている人が少ないようでした。 そこで、本記事では、Pythonの画像処理ライブラリPillow(PIL)を使用して、四分木の中で最も複雑な領域を分割し続けるアートの実装方法について解説します。 アルゴリズム 以下の操作を再帰的に繰り返します。 キャンバス上のすべての矩形領域の中から、最も複雑な領域を選んで四分割する。 新しくできた矩形領域において画像の複雑度(score)と平均色を求め、領域を平均色で塗りつぶす。 詳しくは元記事を参照してください。 実装 Rectクラス Rectクラスは、長方形のフレームの座標情報を保持するクラスです。 calc_areaは長方形のフレームの面積を計算するメソッドです。 class Rect: