您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“怎么利用Python拍攝延時攝影”,內容詳細,步驟清晰,細節處理妥當,希望這篇“怎么利用Python拍攝延時攝影”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
開始之前,你要確保Python和pip已經成功安裝在電腦上。
(可選1) 如果你用Python的目的是數據分析,可以直接安裝Anaconda,它內置了Python和pip.
(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優點。
請選擇以下任一種方式輸入命令安裝依賴:
1. Windows 環境 打開 Cmd (開始-運行-CMD)。
2. MacOS 環境 打開 Terminal (command+空格輸入Terminal)。
3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install moviepy pip install pypiwin32 pip install pillow
本文所有代碼均開源在倉庫
為了實現定時拍攝的邏輯,我們需要用到pypiwin32模塊和pillow模塊,在之前的這篇文章中有介紹過:
超方便的 Python 自動喚醒窗口截圖腳本
分為三個步驟:
1. 獲得游戲窗口界面
2. 獲得游戲界面大小
3. 截圖
每隔N秒定時循環執行以上三個步驟,代碼如下:
# main.py # Python實用寶典 # 2022-03-25 import time import win32gui from PIL import ImageGrab def get_window_pos(name): name = name handle = win32gui.FindWindow(0, name) if handle == 0: return None else: return win32gui.GetWindowRect(handle), handle while True: try: (x1, y1, x2, y2), handle = get_window_pos('極限競速:地平線 4') win32gui.SetForegroundWindow(handle) img_ready = ImageGrab.grab((x1, y1, x2, y2)) img_ready.save(f"./result/{time.time()}.jpg") time.sleep(5) except Exception as e: print(e)
請注意,"極限競速:地平線 4" 要改成你對應拍攝的游戲名稱,這樣,運行程序后就會自動在result文件夾下定時生成截圖:
成功截取你想要的時間段的場景圖片后,就可以進行下面的拼接和補充背景音樂部分。
為了達到延時攝影的效果,我們在這一部分中將使用moviepy模塊,拼接所有圖片到一個視頻中。
當然還要補充背景音樂,代碼其實非常簡單,調用了部分moviepy模塊的功能:
# jointer.py # Python實用寶典 # 2022-03-25 import os import moviepy import moviepy.video.io.ImageSequenceClip from moviepy.editor import * def pics2video(frames_dir, video_dst, music, fps=10): """ 圖片合成MP4 Args: frames_dir (str): 圖片目錄 video_dst (str): 目標目錄 fps (int, optional): 幀數. Defaults to 25. """ frames_name = sorted(os.listdir(frames_dir)) frames_path = [frames_dir+frame_name for frame_name in frames_name] clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(frames_path, fps=fps) audio_clip = AudioFileClip(music).volumex(0.5) audio = afx.audio_loop( audio_clip, duration=clip.duration) final_video = clip.set_audio(audio) final_video.write_videofile(video_dst, codec='libx264') music = '打上花火.mp3' frames_dir = './result/' video_dst = 'screenshots.mp4' pics2video(frames_dir, video_dst, music)
1.將你的音樂放在當前目錄下,修改music變量為對應的文件名。
2.調整你想要的fps參數——幀數,這個值越低,畫面越順暢。
運行此文件后就會在當前文件夾下生成 'screenshots.mp4'. 這個就是我們的處理結果了,雙擊打開試試吧
讀到這里,這篇“怎么利用Python拍攝延時攝影”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。