Pythonで画像を横にスライドさせる表示の仕方とそれを動画にする方法

Pythonプログラムで画像を横にスライドさせる表示の仕方とそれをMP4形式の動画で保存する方法を紹介します。

MP4形式で保存する方法はこちらプログラム処理をした動画をPythonのOpenCVを使いMP4形式にして保存する方法の投稿の方が詳しく説明しているので、そちらの投稿を拝見してください。

目次

文字列の画像を横にスライドさせて表示し、MP4形式の動画にした様子

文字列の画像を横にスライドさせて表示し、それをMP4形式の動画にするプログラム


・バナナの画像を横にスライドさせて表示し、MP4形式の動画にした様子


・バナナの画像を横にスライドさせて表示し、MP4形式の動画にするプログラム


・白色背景にして画像と背景のつなぎ目を無くしている様子

・Pythonプログラムの実行画面をそのまま画面録画した様子


背景の色を変更した様子

文字列の画像を横にスライドさせて表示し、MP4形式の動画にした様子

文字列の画像を横にスライドさせて表示し、それをMP4形式の動画にするプログラム

プログラムの説明をします。

10行目~12行目のfor文は読み込んだ画像の大きさで黒色画像(背景)を作成しています。この黒色画像にスライドさせる画像を切り取って張り付けるイメージになります。

16行目のcv2.VideoWriter(‘Banana99.mp4’,fourcc,80,size)の80はFPS(フレームレート)の値を決めています。
ここの値が小さいスピードが遅い動画を保存します。逆に、大きいスピードが早い動画を保存します。80ぐらいがちょうどいいスピードでした。

18行目の変数dataはスライドを動かす数を決めています。
例:dataの値が1024の場合は、1024右から左に少しずつ動くスライドを表示します。また、このdataの値が半分の512だと、早くスライドします。

注意事項:dataの値はwidth(幅)の値約数に設定しないといけないです。
1024の約数は1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024になります。これらの値以外だとエラーが出てスライドできないです。

注意事項から18行目の変数dataの値はwidth(幅)の値約数にしないといけないので、このプログラムの場合は画像のwidth(幅)の値をそのまま変数dataに代入しています。

23行目~37行目は1回目の右から左に動くスライドをしています。

40行目~54行目は2回目の右から左に動くスライドをしています。

57行目~62行目は2回目スライドの右から左への動きが1つ足りないので、追加しています。

表示と動画の保存を終了させるにはESCキーを押すと終了します

5行目のcv2.imread(“yorosiku.png”)で読み込んでいる画像

この画像を読み込んで、横にスライドさせる表示をしています。


バナナの画像を横にスライドさせて表示し、MP4形式の動画にした様子

バナナの画像を横にスライドさせて表示し、MP4形式の動画にするプログラム

文字列の画像を横にスライドさせるプログラムとの変更点は、読み込んだバナナの画像サイズが大きいので、

6行目のcv2.resize(img,(640,480))でサイズを小さくしています。それ以外のプログラムはほぼ同じです。

5行目のcv2.imread(“DSC_1172.JPG”)で読み込でいる画像

白色背景にして画像と背景のつなぎ目を無くしている様子

bimg[x, y]=0,0,0からbimg[x, y]=255,255,255にすれば背景が白色になり、画像と背景とのつなぎ目が無くなります。

Pythonプログラムの実行画面をそのまま画面録画した様子

PowerPointの挿入にある画面録画で保存した動画になります。

背景の色を変更した様子

bimg[x, y]=255,0,0 青



bimg[x, y]=0,255,0 緑



bimg[x, y]=0,0,255 赤



bimg[x, y]=255,0,255 紫


この投稿ではあらかじめ、作成しておいた画像を使って横にスライドさせていますが、キーボード入力した文字列をすぐに画像にして、横にスライドさせるプログラムを作成したので、そちらもご覧ください。その投稿がこちらPythonでキーボード入力した文字列を横にスライドさせて表示し、それを動画にするプログラムになります。