\実は超簡単‼/写真からスライドショーを自動で作成する方法を解説!

python
スポンサーリンク
スポンサーリンク

初めに

皆さんは、「写真でスライドショーを作りたいけど、写真が多すぎて作りの面倒だな」みたいなこと思ったことありませんか。

ということで、今回は「写真からスライドショーを自動で作る方法」を解説していきたいと思います‼

実際に作った結果がこちら!

実際に作ってみた結果がこちらです。

こんな風に、Windows 日めくりデスクトップ背景画像で30秒ぐらいのちゃんとした(?)スライドショーを作ることができます。

クオリティは低めですが、音とかもっとかっこよくして、あとで背景とかちょっといじったら、ちゃんとまともなやつできそうです。

では、どんなふうにするのか見ていきましょう‼

写真をスライドショーにするプログラムの作成

それでは写真をスライドショーにする方法を解説していきたいと思います‼

プログラムを動かす環境の準備

まず、スライドショーにするプログラムを動かすには、Pythonというプログラミング言語を動かす環境を構築しないといけません。

「プログラミング」と聞いて多少抵抗感がある人もいるかもしれませんが、初心者でも簡単に扱えるので、安心してください。

なので、まずPythonをインストールしましょう‼

↓Pythonのインストール方法は下のリンクから‼‼

必要なライブラリのインストール

変な用語ばっかり記事の冒頭に出てきて頭砕け散りそうになっているかもしれませんが、ライブラリというのは、ブラウザでいう拡張機能みたいな感じです。

プログラムを入れるのに必要なライブラリをインストールしていきたいと思います。

コマンドプロンプトを開いてください。

そして、「pip install opencv-python moviepy pydub」と入力してEnterを押してください。

(何個かデフォルトで入っているやつなんですが、めんどくさいんで全部一応インストールしておきます。)

これで、必要なライブラリをインストールは完了です。

画像や音源の準備

まず、スライドショーにしたい写真を全部一つのフォルダの中にまとめてください。

↑今回は12枚にしました。

次に音源をこのフォルダーに入れます。

ここで注意しなければいけないのが、作ろうと思っているスライドショーの秒数と音源の秒数を同じにしなければいけないということです。

音源が長すぎたり短すぎたりすると、スライドショーとして不自然になってしまうので、そこは気を付けてください。

私は30秒のスライドショーを作りたいので、30秒の音源を入れました。

これで、画像と音源の準備は完了です。

プログラムの作成

では、実際にプログラムを作成していきたいと思います‼

メモ帳を開いてください。

そして、下のコードをそのままコピペして、メモ帳に張り付けてください。

import cv2
import glob
import os
import shutil
import time
from moviepy.editor import *
from pydub import AudioSegment

#スライドショーのpxサイズを入力する。ご自分の写真の画素数に合わせてください。

width = 853 #横
height = 480 #縦
m=0

images =  glob.glob("*.jpg")
#こんな感じで拡張子を追加していく
images.extend(glob.glob('*.png'))

frame_size = 1  #FHD=0, 4K=1
frame_rate = 0.4  #FPS 一秒に何枚の写真を入れるか。これは人によって違います。

word = 'process' +str(m) +  '.mp4'
end = 'complete' + '.mp4'
fourcc = cv2.VideoWriter_fourcc('m','p','4','v')
video = cv2.VideoWriter(word, fourcc, frame_rate, (width, height))

for i in range(len(images)):
    img = cv2.imread(images[i])
    #img = cv2.resize(img,(width,height))
    video.write(img) 
    
video.release()
clip2 = VideoFileClip(word)
#自分の音源に合わせてファイル名を変える。
audioclip2 = AudioFileClip("音源.mp3")
new_videoclip = clip2.set_audio(audioclip2)
new_videoclip.write_videofile(end)
os.remove(word)

↓こんな感じです。

写真の大きさの確認方法は、下のように画像ファイルの上にカーソルを5秒ぐらいおいておくだけです。

そして、これを写真や音源を入れたディレクトリに「スライド.py」という名前で保存してください。

↓「ctrl+s」をクリック

そして、「保存」をクリック。

これで、プログラムの作成は完了です。

プログラムを実行しよう!

次は、先ほど作ったプログラムを実際に実行してみましょう‼

ファイルを入れたディレクトリに行って、アドレスバーのところをクリックしてください。

そして、下のように「cmd」と入力します。

そして、Enterを押すと、コマンドプロンプトが起動します。

そして、下のように「python スライド.py」と入力してEnterを押してください。

↑こんな感じに実行されていると思います。

写真が入っていたディレクトリに行ってみましょう‼

上のようにちゃんと「complete.mp4」というスライドショーができていますね。

これで、スライドショーの作成は完了です‼ お疲れさまでした!

終わりに

いかがでしたか。「写真を何枚もつなげてスライドショーを作る」というめんどくさい作業を、これなら一瞬で終わらせることができますね。

この記事に関して不明な点やわからない点などあればコメント欄で教えてください‼(多少の力添えにはなります。)

また、ほかにも面白い記事たくさんありますので、ほかの記事も一緒に読んでいただければ幸いです。

それでは次の記事で‼

プロフィール

この記事を書いた人
tisikinohako

数学とプログラミングが得意な現役中学生。FXの月最高利回りは30%。このブログの情報が少しでも役に立てれば嬉しいです。