いつもお世話になっております。
###前提・実現したいこと
2点間距離(l2)を求め、それをcsvファイルに記録するシステムの作成を行っています。
基準点の位置が変わるのでif関数で場合分けをしてみたが上手く動作しませんでした。
###発生している問題・エラーメッセージ
Python
1SyntaxError: invalid syntax
が発生しています。
###該当のソースコード
Python
1 X = (round((50/(l-50))*((x2 + x3)/2),2)) 2 Y = (round((50/(l-50))*((y2 + y3)/2),2)) 3 Z = ((round(50/(l-50)*213,2))) 4 XY = np.array([X,Y]) 5 XP = [-23,-23.3,-23.3,-23.3,17.8,17.8,18.2,18,0,0,0,0,0,0] 6 YP = [14.5,11.2,8.1,5,13.5,10.2,7.1,4,0,-7.5,-15.25,-21.1,-27,-32.75] 7 xp = np.array([XP,YP]) 8 F = (src.get(cv.CV_CAP_PROP_POS_FRAMES)) 9 10 def PENEFAX3(l2): 11 u = XY - xp 12 l2 = np.linalg.norm(u) 13 l2 = (round(l2,2) 14 15 if F in range (8,12) 16 xp = (-23,14.5) 17 PENEFAX3(l2) 18 elif F in range(13,17) : 19 xp = (-23.3,11.2) 20 PENEFAX3(l2) 21 elif F in range(18,22) : 22 xp = (-23.3,8.1) 23 PENEFAX3(l2) 24 elif F in range(23,27) : 25 xp = (-23.3,5.00) 26 PENEFAX3(l2) 27 elif F in range(40,44) : 28 xp = (17.8,13.5) 29 PENEFAX3(l2) 30 elif F in range(45,49) : 31 xp = (17.2,10.2) 32 PENEFAX3(l2) 33 elif F in range(50,54) : 34 xp = (18.2,7.1) 35 PENEFAX3(l2) 36 elif F in range(55,59) : 37 xp = (18.0,4.00) 38 PENEFAX3(l2) 39 elif F in range(72,76) : 40 xp = (0.00,0.00) 41 PENEFAX3(l2) 42 elif F in range(77,81) : 43 xp = (0.00,-7.5) 44 PENEFAX3(l2) 45 elif F in range(82,86) : 46 xp = (0.00,-15.25) 47 PENEFAX3(l2) 48 elif F in range(87,91) : 49 xp = (0.00,-21.1) 50 PENEFAX3(l2) 51 elif F in range(92,96) : 52 xp = (0.00,-27.0) 53 PENEFAX3(l2) 54 elif F in range(97,101) : 55 xp = (0.00,-32.75) 56 PENEFAX3(l2) 57 else: 58 xp = XY 59 PENEFAX3(l2)
X,Yはテンプレートマッチングでの、座標位置を計算で求めた結果です。リアルタイムでの計算と同時に2点間距離を求めたいです。
xpの値をフレーム数毎に指定して、場合に応じて変わるようにしたいです。
else部分は必要ないデータが含まれているので、結果を0で表示されるようにしています。
###試したこと
関数を作成して、場合分けを試みましたが上手くいきませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
windows10
python2.7
matplotlib
spyder
よろしくお願いします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/07 15:22