用opencv-python把动态图变成反色动态图
1、opencv读取动态图的方法和读取视频的方法一样。cap = cv2.VideoCapture('0.gif')
2、新建一个视频解码器:out = c箪滹埘麽v2.VideoWriter('0.avi', cv2.VideoWriter_four艘早祓胂cc('M','J','P','G'), 10, (399,319))opencv不能保存动态图,只能保存为视频?
3、每次读一帧图片,编辑这张图片,再把编辑好了的图片作为新视频里面的一帧:while(True): ret, frame = cap.re锾攒揉敫ad() if ret == True: frame=cv2.resize(frame,(399,319)) frame for i in [0,1]: frame[:,:,i]=frame[:,:,i]*1 out.write(frame) else: break
4、关闭cap和out:cap.release()out.release()用ffmpeg把视频转化为动态图:p租涫疼迟='C:/Users/Administrator/Pictures/'os.chdir(p)os.system('ffmpeg -i 0.avi -f gif -y 00.gif')
5、把图片变成绿色:…… for i in [0,2]: frame[:,:,i]=frame[:,:,i]*0……
6、…… for i in [1,2]: frame[:,:,i]=frame[:,:,i]*0 frame[:,:,0]=frame[:,:,0]*2……
7、…… for i in [1]: frame[:,:,i]=frame[:,:,i]*0……
8、…… for i in [0]: frame[:,:,i]=frame[:,:,i]*0……
9、…… for i in [2]: frame[:,:,i]=frame[:,:,i]*0……
10、反色动态图:…… frame=255-frame……