私はこの像の画像を持っています。
私は、像の上、下、左、右のほとんどの点を見つけようとしています。両側のエッジを測定して、像の最も外側のポイントを決定する方法はありますか?各辺の_(x,y)
_座標を取得したい。私はcv2.findContours()
とcv2.drawContours()
を使用して像の概要を取得しようとしました。
_import cv2
img = cv2.imread('statue.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
contours = cv2.findContours(gray, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)[0]
cv2.drawContours(img, contours, -1, (0, 200, 0), 3)
cv2.imshow('img', img)
cv2.waitKey()
_
findContours
のような高価なコードは必要ありません。最初の非白のピクセルが見つかるまで、画像を4辺から外側から内側へ1行ずつスキャンするだけです。
左から、左上から左下に向かってスキャンを開始します。白いピクセルが見つからない場合は、1ピクセル右に移動し、上から下にもう一度移動します。白以外のピクセルを見つけたら、これがleft
です。
すべての面で同じことを行います。