EllipseForeground

EllipseForegroundは、大まかな楕円から、画像の前景のアルファマットを求めるライブラリです。
論文の参照実装で、学習済みのモデルも追加の注釈も使わず、入力は画像と楕円だけです。

論文をブラウザーで読めます。PDFは外部へ送りません。


導入

Python 3.11以降と、NumPy、SciPy、Pillowが要ります。Releasesから最新のパッケージをダウンロードして解凍し、中のwheelを入れます。

python -m pip install ellipse_foreground-X.Y.Z-py3-none-any.whl

使い方

次のプログラムは、画像を読み、前景を囲む楕円を渡して、アルファマットを書き出します。同じAnalysisで楕円だけを変えてextractを呼ぶと、画像ごとに作った木を使い回します。

import numpy as np
from PIL import Image

from ellipse_foreground import Analysis, Ellipse, Mix

source = np.asarray(Image.open("input.png").convert("RGB"))
analysis = Analysis(source.astype(np.float32) / 255.0, source)
ellipse = Ellipse(center_x=640, center_y=330, radius_x=190, radius_y=300)
alpha = analysis.extract(ellipse, Mix.ADAPTIVE_COLOR)
Image.fromarray(np.rint(alpha * 255).astype(np.uint8)).save("alpha.png")

処理の流れ

速度と制限

リンク