1

流域法を使用して画像のオーバーセグメンテーションを実行したいと考えています。ドキュメントを読むと、findContour と drawContour 関数を使用してマーカーを作成する必要があります。どうすればそれを使用できますか?

これは私の現在のコードです、

import cv2
import numpy as np

im=cv2.imread('balls.jpg')
marker=np.zeros(im.shape[:2])
marker[::30,::30]=200
marker=np.int32(marker)

cv2.watershed(im,marker)
out=cv2.convertScaleAbs(marker)

cv2.namedWindow('Out')
cv2.imshow('Out', out)
cv2.waitKey()

P / S:これについて別の質問がありますが、彼らは他のアプローチを使用しました(前景と背景に基づいています。代わりに輪郭を使用したいです)。

これが私の目標です: 画像の過剰なセグメンテーションを生成します:

ここに画像の説明を入力

入力画像はここからダウンロードできます: http://decsai.ugr.es/~javier/denoise/peppers256.png

4

0 に答える 0