要实现的效果是:读取视频,并将要显示的点画出来
步骤:
1.用opencv读取读取视频
2.用plt 打开动图,并将每一帧读入画布中
3.在画布上画出点,然后显示图像
4.清空画的点,循环下234,画一帧
代码如下:
plt.ion()
cap = cv2.VideoCapture('E:\DATA\pose_h3.6m\S5\Videos\\Directions 1.54138969.mp4')
j=0
while(cap.isOpened()):
j = j + 1
ret, frame = cap.read()
(r, g, b) = cv2.split(frame)
frame = cv2.merge([b, g, r])
plt.cla()
plt.imshow(frame)
# cv2.waitKey(0)
X=[]
Y=[]
pose1 = data[(5, 'Directions', 'Directions 1.54138969.h5-sh')][j]
for i in SH_TO_GT_PERM:
X.append(pose1[2*i])
Y.append(pose1[2 * i+1])
print(X)
plt.plot(X,Y,'ro')
plt.show()
plt.pause(0.0001)
cap.release()
cv2.destroyAllWindows()
效果如下: