Python 視頻處理:濾鏡之賽博朋克

前言

處理視頻濾鏡之前禀酱,需要先掌握圖片濾鏡的處理控乾,如何將一張夜景圖片修改為賽博朋克的風(fēng)格剩失?

視頻濾鏡

夜景素材

渲染效果

Python 代碼

import ffmpeg
import numpy as np
import os
from image.cyber import cyberpunk
import cv2

if __name__ == '__main__':
    # 源視頻
    video_path = 'night.mp4'
    video_probe = ffmpeg.probe(video_path)
    video_info = next((stream for stream in video_probe['streams'] if stream['codec_type'] == 'video'), None)
    video_frames = int(video_info['nb_frames'])
    width = int(video_info['width'])
    height = int(video_info['height'])
    video_input = ffmpeg.input(video_path)
    in_process = (
        video_input.video.output('pipe:', format='rawvideo', pix_fmt='rgb24', r=30).run_async(pipe_stdout=True)
    )

    # 濾鏡視頻流
    tmp_path = 'night_tmp.mp4'
    tmp_process = (
        ffmpeg
            .input('pipe:', format='rawvideo', pix_fmt='rgb24', s='{}x{}'.format(width, height), framerate=30)
            .output(tmp_path, pix_fmt='yuv420p', r=30)
            .overwrite_output()
            .run_async(pipe_stdin=True)
    )

    frame_index = 1

    # 視頻幀處理
    while True:
        in_bytes = in_process.stdout.read(width * height * 3)
        if not in_bytes:
            break
        in_frame = (
            np
                .frombuffer(in_bytes, np.uint8)
                .reshape([height, width, 3])
        )

        # 漸變式局部濾鏡視頻勘究,過渡時(shí)間 5 秒渗鬼,幀率為 30勘畔,則此處設(shè)置的值為 150
        in_frame_bgr = cv2.cvtColor(in_frame, cv2.COLOR_RGB2BGR)
        current_width = int(width * (frame_index / 150))
        in_frame_bgr[:, 0:current_width, :] = cyberpunk(in_frame_bgr[:, 0:current_width, :])
        in_frame = cv2.cvtColor(in_frame_bgr, cv2.COLOR_BGR2RGB)

        tmp_process.stdin.write(
            in_frame
                .astype(np.uint8)
                .tobytes()
        )

        if frame_index < 150:
            frame_index += 1

    # 等待異步處理完畢
    tmp_process.stdin.close()
    in_process.wait()
    tmp_process.wait()

    # 將原始視頻的音樂合并到新視頻
    result_path = 'night_new.mp4'
    (
        ffmpeg.input(tmp_path)
              .output(video_input.audio, result_path, r=30)
              .run(overwrite_output=True)
    )

    # 刪除臨時(shí)文件
    os.remove(tmp_path)

素材下載

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末所灸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子炫七,更是在濱河造成了極大的恐慌爬立,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件万哪,死亡現(xiàn)場離奇詭異侠驯,居然都是意外死亡抡秆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門吟策,熙熙樓的掌柜王于貴愁眉苦臉地迎上來儒士,“玉大人,你說我怎么就攤上這事檩坚∽帕茫” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵匾委,是天一觀的道長拖叙。 經(jīng)常有香客問我,道長赂乐,這世上最難降的妖魔是什么薯鳍? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮沪猴,結(jié)果婚禮上辐啄,老公的妹妹穿的比我還像新娘。我一直安慰自己运嗜,他們只是感情好壶辜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著担租,像睡著了一般砸民。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奋救,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天榄审,我揣著相機(jī)與錄音,去河邊找鬼齐邦。 笑死炕吸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的背亥。 我是一名探鬼主播秒际,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼狡汉!你這毒婦竟也來了娄徊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤盾戴,失蹤者是張志新(化名)和其女友劉穎寄锐,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡橄仆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年剩膘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沿癞。...
    茶點(diǎn)故事閱讀 39,773評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡援雇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出椎扬,到底是詐尸還是另有隱情惫搏,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布蚕涤,位于F島的核電站筐赔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏揖铜。R本人自食惡果不足惜茴丰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望天吓。 院中可真熱鬧贿肩,春花似錦、人聲如沸龄寞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽物邑。三九已至溜哮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間色解,已是汗流浹背茂嗓。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留科阎,地道東北人述吸。 一個(gè)月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像锣笨,于是被迫代替她去往敵國和親蝌矛。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容

  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    小邁克閱讀 2,985評論 1 3
  • 做了一些視頻了票唆,來記錄一下做這些視頻的出發(fā)點(diǎn)。有的視頻被刪了屹徘,就不放B站鏈接了走趋。 1.第一個(gè)視頻,用會(huì)聲會(huì)影做的噪伊,...
    部落10閱讀 492評論 0 0
  • 賽博朋克濾鏡實(shí)現(xiàn) Python 代碼 最終效果圖 HLS 顏色模型 HLS 分別是:色相(H)簿煌、亮度(L)氮唯、飽和度...
    Anoyi閱讀 2,765評論 0 9
  • 擁抱惩琉,無關(guān)風(fēng)月 葉葉喬 她沒想到,他們會(huì)是這樣的重逢夺荒。 高中畢業(yè)二十年聚會(huì)瞒渠,她和要好的幾個(gè)同學(xué)做收尾工作,然后留在...
    yeyeqiao閱讀 497評論 0 0
  • 今天鬧了好多不愉快技扼,最后也說開了...真的很抱歉伍玖,自己很自私... 讓你那么那么難過...哭得那么撕心裂肺......
    舒科舒科舒科閱讀 604評論 0 0