用opencv-python把动态图变成反色动态图

2025-12-05 00:54:04

1、opencv读取动态图的方法和读取视频的方法一样。

cap = cv2.VideoCapture('0.gif')

用opencv-python把动态图变成反色动态图

2、新建一个视频解码器:

out = cv2.VideoWriter('0.avi',

      cv2.VideoWriter_fourcc('M','J','P','G'), 

      10, (399,319))

opencv不能保存动态图,只能保存为视频?

用opencv-python把动态图变成反色动态图

3、每次读一帧图片,编辑这张图片,再把编辑好了的图片作为新视频里面的一帧:

while(True):

  ret, frame = cap.read()

  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 

用opencv-python把动态图变成反色动态图

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')

用opencv-python把动态图变成反色动态图

用opencv-python把动态图变成反色动态图

5、把图片变成绿色:

……

    for i in [0,2]:

        frame[:,:,i]=frame[:,:,i]*0

……

用opencv-python把动态图变成反色动态图

6、……

    for i in [1,2]:

        frame[:,:,i]=frame[:,:,i]*0

    frame[:,:,0]=frame[:,:,0]*2

……

用opencv-python把动态图变成反色动态图

7、……

    for i in [1]:

        frame[:,:,i]=frame[:,:,i]*0

……

用opencv-python把动态图变成反色动态图

8、……

    for i in [0]:

        frame[:,:,i]=frame[:,:,i]*0

……

用opencv-python把动态图变成反色动态图

9、……

    for i in [2]:

        frame[:,:,i]=frame[:,:,i]*0

……

用opencv-python把动态图变成反色动态图

10、反色动态图:

……

    frame=255-frame

……

用opencv-python把动态图变成反色动态图

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢