如果你传入给cv2.VideoWriter的视频是彩色视频,那么当你对视频进行canny处理之后会发现视频无法正常播放。这时,只要把cv2.VideoWriter的isColor设置成False就可以了,我猜这是因为,彩色的视频是rgb三通道(它的形状是宽,高,3)的视频,而经过canny函数处理之后的视频其实是单通道(形状为宽,高,1)的。
w=fcap.get(cv2.CAP_PROP_FRAME_WIDTH)
h=fcap.get(cv2.CAP_PROP_FRAME_HEIGHT)
fps=fcap.get(cv2.CAP_PROP_FPS)
video_writer=cv2.VideoWriter('test_result.mp4',cv2.VideoWriter_fourcc(*"mp4v"),int(fps),(int(w),int(h)),isColor=False)
#isColor设置成False就可以了