OpenCVとPythonで取得した画像を動画にしてGoogleドライブに自動アップロードする


RaspberryPiなどのセキュリティカメラ用途として、OpenCVとPythonでカメラ撮影した画像を、定期的に指定の時刻に自動で動画にして、Googleドライブに自動でアップロードする方法をいろいろと調べてみたのですが、PythonのScheduleというモジュールを使うと簡単にできることがわかったので、実装しました。

Scheduleモジュールの使い方ですが、下のように特定の関数を10分ごとや1時間ごとに実行したり、特定の曜日や時間に実行することができます。↓ schedule.run_pendingは1回の呼び出しで1回のジョブしか実行されないので、何回も繰り返しで実行したいときは無限ループ内で呼び出す必要があります。


引数を渡して実行するときは下のようにします。↓


GoogleドライブへのアップロードはGoogle Drive APIを使用します。Google Drive APIを使用するにはGoogle Developer Consoleから認証情報を取得する必要があります。Google Drive APIをPythonで使うにはPyDriveというモジュールをインストールします。「Google Drive API 有効化」や「Google Drive API Python」などの単語で検索すると参考になるサイトがたくさんあります。Googleドライブへのアップロード用には下の関数を作成しました。↓ アップロード先のフォルダのフォルダIDは環境変数から取得するようにしました。


コード全体は下の通りです。↓


Googleドライブに動画ファイルをアップロードする関数upload_to_google_driveと複数の画像ファイルから動画を作成する関数make_video_from_imageを指定の時刻に実行するようにしました。Scheduleモジュールについて詳しくは下のサイトを見てください。↓

https://schedule.readthedocs.io/en/stable/

2020年3月18日18:14

カテゴリ: プログラミング

タグ: Python, Raspberry Pi, OpenCV,


パスワード作成ツールを追加


便利ツールにパスワード作成ツールを追加しました。GitHubにプログラムをアップしたので、よかったら見てください。↓

ktpcschool/password_generator

2020年3月14日11:51

カテゴリ: 便利ツールの紹介

タグ: Python, 便利ツール,


アスキーアート変換ツールの使用方法



アスキーアート変換ツールの使い方です。

① 「ファイルを選択」ボタンをクリックして、画像ファイルを選択します。ファイルサイズは2.5MBまでです。

② アスキーアートに使用する文字を半角または全角で入力します。文字数は1〜20文字までです。

③ アスキーアートの1行の文字数を半角で入力します。文字数は50〜200文字までです。

④ アスキーアートの横幅のピクセル数を入力します。500〜2000ピクセルまでです。

⑤ カラー、または、白黒を選択します。

⑥ 「変換」ボタンをクリックすると、アスキーアートに変換された画像が表示されます。

⑦ 変換したアスキーアート画像をダウンロードする場合は、画像を右クリックして、「名前を付けて画像を保存」してください。


下の画像は作成したアスキーアート画像のサンプルです。サムネイル画像をクリックすると、実際の画像が見られます。↓

ascii_monalisa ascii_cat ascii_dog  

2020年3月11日17:39

カテゴリ: 便利ツールの紹介

タグ: 便利ツール,


緯度・経度から標高を取得するツールを追加

ascii_cat

便利ツールに緯度・経度から標高を取得するツールを追加しました。このツールは国土地理院の「サーバサイドで経緯度から標高を求めるプログラム」を利用しました。GitHubに作成したプログラムをアップしましたので、よかったら見てください。↓

ktpcschool/geocoding/elevation.py

2020年3月11日16:08

カテゴリ: 便利ツールの紹介

タグ: Python, 便利ツール,


DjangoでWebサイトを作成

ascii_monalisa

Djangoの練習も兼ねてWebサイトを新たに作成しました。静的なWebサイトなら、ホームページビルダーを使って比較的簡単に作成できるのですが、サーバー上でプログラムを動かす動的なWebサイトの作成はいろいろと大変でした。最近のWeb作成がフレームワークありきで成り立っているということを最近知りました。特にサーバーにデプロイするのに苦労しましたが、おかげでDjangoやGitBootstrapの基本的な使い方はわかってきました。今後はいろいろな便利ツールを追加していく予定です。

2020年2月27日10:48

カテゴリ: プログラミング

タグ: Python, Django,