[ create a new paste ] login | about

Link: http://codepad.org/pK6n6ZRY    [ raw code | fork ]

Python, pasted on Jun 8:
#!/usr/bin/env python
#coding:utf-8

# 画像をラベリング処理した後に
# 結果をmatplotlibにより可視化する

from __future__ import unicode_literals
import numpy as np
from scipy import ndimage
import pylab as plt
import cv2

def main():
    # 画像をグレースケールで読み込む
    img = cv2.imread("src_hd.bmp", 0)

    # 読み込みエラーチェック
    if img is None:
        print "画像の読み込みに失敗しました。"
        quit()

    # 画像を2値化しておく
    img = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]

    # 構造化要素、8連結でラベリングしたいならこれを第2引数にする
    stel = np.ones((3, 3))

    # ラベリング処理
    label_img, nb_labels = ndimage.label(img)

    print "領域分割数:"+str(nb_labels)

    # matplotlibに描画する(blurをオフにする)
    plt.imshow(label_img, interpolation="nearest", cmap="spectral")

    # カラーバーを追加する
    plt.colorbar()

    # 描画した画像を表示する
    plt.show()

if __name__ == '__main__':
    main()


Create a new paste based on this one


Comments: