Loading [MathJax]/extensions/tex2jax.js

2019-05-24

PythonでOpenCVでのラベリング処理

PythonでOpenCVでのラベリング処理を行う場合は、下記のコード通りに行います。注意点は
  • 画像を2値化すること
  • ラベリング結果は画像によっては画像全体を抽出する場合がある
後者については、最大の面積を持つ領域を取り出したい場合に要注意です。

#画像をグレースケールで読み込み
grayImage = cv2.imread(fileName,0)
#二値変換
_ ,binImage = cv2.threshold(grayImage,0, 255, cv2.THRESH_BINARY)
# ラベリング処理
nLabels, labelImages, data, center = cv2.connectedComponentsWithStats(binImage)
#ここのラベルの情報を取り出したい場合
for label in range(0,nLabels):
x,y = center[label]
x,y,w,h,size = data[label]
# 面積最大のインデックスを求める場合
max_index = np.argmax(data[:,4])
view raw labeling.py hosted with ❤ by GitHub


0 件のコメント:

コメントを投稿