I would like to create motion history image with Python and OpenCV. I use following function :
cv2.motempl.updateMotionHistory
My video has 6 seconds and 144 frames for examples. I would like to see all motion history in one image for 6 seconds and 144 frames. But somehow, it shows for example, 1 seconds and 24 frames in one image motion history. And then, first ones for motion history disappear and new 1-2 seconds 24-40 frames motion history shown. I cannot see all motion history in one image for 6 seconds and 144 frames.
Is it possible to show all motion history for 6 seconds and 144 frames in one image with updateMotionHistory ? Any sample ?
…… cv2.motempl.updateMotionHistory(motion_mask, motion_history, timestamp, MHI_DURATION) mg_mask, mg_orient = cv2.motempl.calcMotionGradient( motion_history, MAX_TIME_DELTA, MIN_TIME_DELTA, apertureSize=7)#5 ) seg_mask, seg_bounds = cv2.motempl.segmentMotion(motion_history, timestamp, MAX_TIME_DELTA)
visual_name = visuals[cv2.getTrackbarPos('visual', 'motempl')]
if visual_name == 'input':
vis = frame.copy()
elif visual_name == 'frame_diff':
vis = frame_diff.copy()
elif visual_name == 'motion_hist':
vis = np.uint8(np.clip((motion_history-(timestamp-MHI_DURATION)) / MHI_DURATION, 0, 1)*255)
vis = cv2.cvtColor(vis, cv2.COLOR_GRAY2BGR)
elif visual_name == 'grad_orient':
hsv[:,:,0] = mg_orient/2
hsv[:,:,2] = mg_mask*255
vis = cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR)
….