溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Python代碼制作一個(gè)視頻倒放神器

發(fā)布時(shí)間:2022-02-15 14:50:17 來源:億速云 閱讀:502 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了如何使用Python代碼制作一個(gè)視頻倒放神器,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

    導(dǎo)語

    正常的視頻如下

    如何使用Python代碼制作一個(gè)視頻倒放神器

    倒放視頻如下

    如何使用Python代碼制作一個(gè)視頻倒放神器

    效果很贊吧,等你學(xué)會(huì)了這個(gè),你才會(huì)發(fā)現(xiàn),抖音上那些杯子里的水倒流,倒著跑步等看似很炫酷很神秘的視頻,其實(shí)就是一鍵倒放而已!

    那么,今天小編就來探索Python代碼如何實(shí)現(xiàn)這個(gè)倒放的功能叭~

    正文

    這些搞笑的gif跟小視頻都是將正常的流暢通過倒放產(chǎn)生的效果啦

    其實(shí)制作起來卻非常簡(jiǎn)單,原理就是將gif圖片拆分出來每一幀,再將拆分的每一幀圖片反向排序保存到gif里即可,只需要十行代碼

    源碼如下

    from PIL import Image, ImageSequence
    # 讀取 GIF
    im = Image.open("1.gif")
    # GIF 圖片流的迭代器
    iter = ImageSequence.Iterator(im)
    index = 1
    # 遍歷圖片流的每一幀
    for frame in iter:
        print("image %d: mode %s, size %s" % (index, frame.mode, frame.size))
        frame.save("./images/img%d.png" % index)
        index += 1
    # 把 GIF 拆分為圖片流
    imgs = [frame.copy() for frame in ImageSequence.Iterator(im)]
    # 圖片流反序
    imgs.reverse()
    # 將反序后的所有幀圖像保存下來
    imgs[0].save("reverse.gif", save_all=True, append_images=imgs[1:])

    效果展示

    如何使用Python代碼制作一個(gè)視頻倒放神器

    哈哈哈,看懂這個(gè)視頻了嘛!!

    如何使用Python代碼制作一個(gè)視頻倒放神器

    當(dāng)遇到老人的時(shí)候應(yīng)該.......

    完整的一組效果

    少年觸電,勇士及時(shí)救援!

    如何使用Python代碼制作一個(gè)視頻倒放神器

    去吧!皮卡丘

    如何使用Python代碼制作一個(gè)視頻倒放神器

    總結(jié)

    哈哈哈哈,這些動(dòng)態(tài)的倒放效果真的還挺有意思的哈~趕緊自己動(dòng)手試試嘛

    補(bǔ)充

    Python其實(shí)不僅能實(shí)現(xiàn)視頻的倒放,還有動(dòng)圖的倒放

    下面是實(shí)現(xiàn)動(dòng)圖倒放的示例代碼

    # python下的圖像處理庫
    from PIL import Image, ImageSequence
    # 系統(tǒng)模塊
    import os
     
    # 用于讀取gif動(dòng)圖
    im = Image.open("讀取圖片的名稱")
    # gif圖片流的迭代器
    iter = ImageSequence.Iterator(im)
     
    index = 1
     
    for frame in iter:
        # 每一幀圖片
        print("image %d: mode %s, size %s" % (index, frame.mode, frame.size))
        # 若保存的路徑不存在,則創(chuàng)建文件夾
        path = "imgs"
        if path not in os.listdir():
            os.makedirs(path)
        # 將每一幀圖片保存到imgs文件夾下
        frame.save("./imgs/frame%d.png" % index)
        index += 1
     
    # 將gif拆分成圖片流
    imgs = [frame.copy() for frame in ImageSequence.Iterator(im)]
     
    # 輸出原圖
    # imgs[0].save("./out.gif", save_all=True, append_images=imgs[1:])
     
    # 將圖片流反序
    imgs.reverse()
     
    # 將反序后的圖片流保存并輸出
    imgs[0].save("./reverse_out.gif", save_all=True, append_images=imgs[1:])

    感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用Python代碼制作一個(gè)視頻倒放神器”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI