金子邦彦研究室人工知能Windows で動く人工知能関係 Pythonアプリケーション,オープンソースソフトウエア)SLIC (scikit-image に含まれる)のインストールと動作確認(スーパーピクセル)(Python を使用)(Windows 上)

SLIC (scikit-image に含まれる)のインストールと動作確認(スーパーピクセル)(Python を使用)(Windows 上)

scikit に実装されているスーパーピクセルを試してみる

関連する外部ページ

スーパーピクセルに関する参考記事: http://scikit-image.org/docs/dev/auto_examples/segmentation/plot_segmentations.html

元画像

[image]

SLIC

[image]

felzenszwalb

[image]

quickshift

[image]

watershed

[image]

前準備

Python のインストール(Windows 上)

サイト内の関連ページ

関連する外部ページ

Python の公式ページ: https://www.python.org/

SLIC (scikit-image) のインストール

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. 次のコマンドを実行する.
    python -m pip install -U scikit-image matplotlib
    

スーパーピクセルの実行(scikit-image の SLIC,Python を使用)

SLIC

SLIC を行う Python プログラムを実行してみる.

  1. Python プログラムを実行する..Matplotlib を使うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

    Python プログラムの実行: 別ページ »で説明

    Python のまとめ: 別ページ »にまとめ

  2. Python プログラムを実行する
    %matplotlib inline
    import matplotlib.pyplot as plt
    import warnings
    warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
    import skimage.data
    import skimage.color
    import skimage.filters
    import skimage.util
    import skimage.segmentation
    img = skimage.util.img_as_float( plt.imread("d:\lena_std.jpg") )
    plt.imshow(img)
    
    a = skimage.segmentation.slic(img)
    plt.imshow( a )
    
    plt.imshow( skimage.segmentation.mark_boundaries(img, a) )
    

    [image]

felzenszwalb

felzenszwalb を行う.

Python プログラムを実行する.Matplotlib を使うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

%matplotlib inline
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
import skimage.data
import skimage.color
import skimage.filters
import skimage.util
import skimage.segmentation
img = skimage.util.img_as_float( plt.imread("d:\lena_std.jpg") )
plt.imshow(img)

a = skimage.segmentation.felzenszwalb(img)
plt.imshow( a )

plt.imshow( skimage.segmentation.mark_boundaries(img, a) )

[image]

quickshift

quickshift を行う.

Python プログラムを実行する.Matplotlib を使うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

%matplotlib inline
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
import skimage.data
import skimage.color
import skimage.filters
import skimage.util
import skimage.segmentation
img = skimage.util.img_as_float( plt.imread("d:\lena_std.jpg") )
plt.imshow(img)

a = skimage.segmentation.quickshift(img)
plt.imshow( a )

plt.imshow( skimage.segmentation.mark_boundaries(img, a) )

[image]

watershed

watershed を行う.

Python プログラムを実行する.Matplotlib を使うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

%matplotlib inline
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
import skimage.data
import skimage.color
import skimage.filters
import skimage.util
import skimage.segmentation
img = skimage.util.img_as_float( plt.imread("d:\lena_std.jpg") )
plt.imshow(img)

a = skimage.segmentation.watershed( skimage.filters.sobel( skimage.color.rgb2gray( img ) ), markers=250 ) 
plt.imshow( a )

plt.imshow( skimage.segmentation.mark_boundaries(img, a) )

[image]