###前提・実現したいこと
テンプレートマッチングにより得られた座標をcsvファイルに書き込んでいる。
その書き込んでいる数値を3次元散布図、2次元グラフで読み込みたい。
書き込まれていく段階で同時に散布図・グラフの描画を行いたい。
###発生している問題・エラーメッセージ
テンプレートマッチングの処理が行われて終了したのち、グラフ(散布図のみ)が表示される。
###該当のソースコード
Python
1# -*- coding: utf-8 -* 2 3from matplotlib import pyplot 4from mpl_toolkits.mplot3d import Axes3D 5import numpy as np 6from scipy import genfromtxt 7import sys 8import cv2 9import cv 10import csv 11import math 12 13 14d1 = genfromtxt("P.csv", delimiter=",") 15 16fig = pyplot.figure(figsize=(24,24)) 17 18# 全体を2x2に分割し、1枚目に描写 19ax = fig.add_subplot(121, projection='3d') 20ax.set_xlabel("X-axis") 21ax.set_ylabel("Y-axis") 22ax.set_zlabel("Z-axis") 23 24ax.set_xlim(-30, 30) 25ax.set_ylim(-40, 20) 26ax.set_zlim(100, 200) 27 28ax.plot(d1[:,0], d1[:,1], d1[:,2], "o", color="g", ms=16, mew=0.5) 29ax.plot(d2[:,8], d2[:,9], d2[:,10], "x", color="r", ms=16, mew=0.5) 30 31 32# 全体を2x2に分割し、2,3枚目に描写 33ax = fig.add_subplot(222) 34ax.set_xlabel('X-axis') 35ax.set_ylabel('Y-axis') 36ax.set_xlim(-30, 30) 37ax.set_ylim(-40, 20) 38 39ax.plot(d1[:,8], d1[:,9], "o", color="g", ms=24, mew=0.5) 40ax.plot(d2[:,0], d2[:,1], "x", color="r", ms=24, mew=0.5) 41 42ax.grid(True) 43 44ax = fig.add_subplot(224) 45ax.set_xlabel('Z-axis') 46ax.set_ylabel('Y-axis') 47ax.set_xlim(100, 200) 48ax.set_ylim(-40,20) 49 50ax.plot(d1[:,10], d1[:,9], "o", color="g", ms=24, mew=0.5) 51ax.plot(d2[:,2], d2[:,1], "x", color="r", ms=24, mew=0.5) 52 53ax.grid(True) 54 55while True: 56 csv.writer = d2.read() 57 58f.close() 59cv2.destroyAllWindows() 60src.release() 61rec.release() 62fig.show() 63pyplot.show()
内容は一部改変させていただいております。実際には作成した動画に文字を入れているがそこは今回の質問と関係がないため省略。
###試したこと
if関数やwhile関数で指定しようと試みたが失敗した。
###補足情報(言語/FW/ツール等のバージョンなど)
windows10
python2.7
matplotlib
spyder
回答1件
あなたの回答
tips
プレビュー