2017-10-06 7 views
-1

画像があり、この画像の曲線上にある点の座標を求めたいと思います。イメージを見てください。 赤い点は、座標を計算するのに必要な点です。 Pythonでどうすればいいのか教えてください。
ご協力いただきありがとうございます。 ベストPythonを使用して画像内の曲線上にある点の座標を求める

enter image description here

答えて

0

まずHSVに画像を変換し、赤い点を分離。輪郭とその瞬間を見つけることによって、その座標を得ることは簡単です。ケースでは、OpenCVのを使用している -

出力:

enter image description here

コード:

import cv2 
import numpy as np 

frame=cv2.imread("dots.jpg") 
dots=np.zeros_like(frame) 
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) 
lower_hsv = np.array([112, 176, 174]) 
higher_hsv = np.array([179,210,215]) 
mask = cv2.inRange(hsv, lower_hsv, higher_hsv) 

cnts, h = cv2.findContours(mask, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE) 
mnts = [cv2.moments(cnt) for cnt in cnts] 

centroids = [(int(round(m['m10']/m['m00'])),int(round(m['m01']/m['m00']))) for m in mnts] 


for c in centroids: 
    cv2.circle(dots,c,5,(0,255,0)) 
    print c 

cv2.imshow('red_dots', dots) 

cv2.waitKey(0) 
cv2.destroyAllWindows() 
+0

をご返信いただきありがとうございます。しかし、それは私が探していたものではありませんでした。最初に、私はこれらの座標がどの起源に関して計算されたのか分かりませんでした!とにかく私の質問でそれを言及して申し訳ありませんが、私は点が置かれている弧の中心に対する赤い点の座標を望んでいた(中心の座標は(0,0)です)。 – Leo

+0

ハーフサークルについてはこちらをご覧ください(http: //opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_houghcircles/py_houghcircles.html)これらは、1つの円の点である可能性があります。そのハフ円の中心をリンクを作成したら、印刷された座標からそれを減算して、円弧の中心に対して座標を取得します。 –

+0

ありがとう、私はHough Circle Transformを見ていきますが、私の質問はまだあります。あなたは起源の場所を明確にしてください。また、これらの座標をあなたが計算したX軸とY軸も? – Leo

関連する問題