I'm looking to draw a line on a video which I'm stepping through frame by frame so I can calculate the angle of the line. I've made a very simple script which steps through the video and tries to collect the points clicked in each image in an array, however not even this seems to work... Here's the code:
import cv2, cv
cap = cv2.VideoCapture('video.avi')
box = []
def on_mouse(event, x, y, flags):
if event == cv.CV_EVENT_LBUTTONDOWN:
print 'Mouse Position: '+x+', '+y
box.append(x, y)
#cv2.rectangle(img, pt1, pt2, color)
#cv2.line(img, pt1, pt2, color)
drawing_box = False
cv.SetMouseCallback('real image', on_mouse, 0)
count = 0
while(1):
_,img = cap.read()
img = cv2.blur(img, (3,3))
cv2.namedWindow('real image')
cv2.imshow('real image', img)
if cv2.waitKey(0) == 27:
cv2.destroyAllWindows()
break
print box
Any help is appreciated!
Many Thanks
John