Pythonでいろいろやってみる

Pythonを使った画像処理や機械学習などの簡単なプログラムを載せています。

フォルダ内の写真のファイル名を撮影時刻に変更する

デジカメ等で写真を撮ると「DSC-1234」のように連番のファイル名が付きますが、「DSC-9999」の次は「DSC-0001」となるため、ファイルを連続処理する場合など少し面倒です。ファイルのEXIF情報から撮影時刻を取得し、ファイル名を撮影時刻に変更します。 関連…

動画をキャプチャーしてタイムラプス動画を作成する

動画をキャプチャーしてタイムラプス動画を作成します。ライブラリPyAutoGUIを使うとパソコン画面のスクリーンショットを取得できます。動画を再生しているパソコンのスクリーンショット画像を一定間隔で取得し、OpenCVで動画ファイルに書き込むことでタイム…

WAVファイルのミキシング

ライブラリpydubを使うことで音声ファイルを操作できます。ボーカルのみ、ピアノのみの2つのwavファイルを合成しボーカルに伴奏を付けます。 環境 windows10 home Jupyter notebook 6.4.11 Python 3.10.4 pydub 0.25.1 準備 ライブラリpydubをインストールし…

Wikipedia-APIでWikipediaの記事を取得する

ライブラリWikipedia-APIはWikipediaのAPIを簡単に制御できるラッパーで、これを使うとWikipediaの記事の要約や全文を短いコマンドで取得できます。 環境 windows10 home Jupyter notebook 6.4.11 Python 3.10.4 Wikipedia-API 0.5.4 準備 ライブラリWikiped…

Twitter APIでツイートを検索する

Twitterはクレイピングが禁止されており、ツイートを検索する場合APIを使用します。tweepyはTwitter APIを使ってTwitterを操作するためのPythonライブラリで 利用者情報を入力したtweepy.Clientオブジェクトに対して.search_recent_tweets()メソッドを適用し…

近くのラーメン屋を探す

近くのラーメン屋を探します。GeoJSのAPIによりIPアドレスから現在地の位置情報を取得します。取得した位置情報より、リクルートWebサービスが提供するHotpepperグルメサーチAPIを使って「現在地から2000m以内のラーメン屋」を検索します。

喫煙できる店を検索する

リクルートWebサービスが提供するHotpepperグルメサーチAPIを使って「北千住駅から300m以内で喫煙可能な店」を検索します。PythonのHTTP通信ライブラリrequestsによりホットペッパー Webサービスにアクセスし、検索クエリとして北千住駅の緯度・経度、距離(3…

国旗の色比率を円グラフにする

TBSのクイズ番組「東大王」で、国旗の色比率を円グラフにしたものを見て国旗を当てる、というクイズをやっていたのを見て同じようなグラフを作ってみました。

徐々に画像がはっきりするgif動画

画像が徐々にハッキリしていくgif動画を作ります。画像処理ライブラリPillowのeffect_spreadで画像をぼかすことができますが、そのぼかし具合を少しずつ減らすことで画像を徐々にハッキリさせます。 関連記事 少しずつ画像がはっきりする動画 環境 windows10…

パソコンの内蔵カメラで動画を撮る

パソコンの内蔵カメラで動画を撮ります。Pythonの画像処理ライブラリOpenCVでパソコンのカメラ画像を取り込み動画化します。

画像でモザイク画を作る(フォトモザイク)

PythonのライブラリOpenCVで画像を碁盤目状に分割し、それぞれのセルを色味の近い画像に置き換えてモザイク画を作ります

パソコンの画面を録画する

チュートリアル動画作成などPCの画面を録画したい場合に、PythonのライブラリPyAutoGUIで画面をキャプチャーし画像処理ライブラリOpenCVでそれを繋げて動画にできます。

動画を鉛筆画風に変換する

動画を鉛筆画風に変換します。Pythonの画像処理ライブラリOpenCVのcv2.pencilSketchで動画の各フレームを鉛筆画風に変換し動画に保存しなおします。

複数の動画に字幕を付けて1つの動画にまとめる

フォルダ内の複数の動画に字幕を付けて1つの動画にまとめます。Pythonの画像処理ライブラリOpenCVで動画の読み出しと編集、書き出しを画像処理ライブラリPillowで字幕の書き込みを行います。

Yahooニュース・アクセスランキングの見出しを取得し合成音声で読み上げる(Windows)

Yahooニュース・アクセスランキングの見出しをスクレイピングで取得し、それを合成音声で読み上げます。pywin32(win32com)はPythonからウィンドウズアプリケーションを制御するためのライブラリです。win32comでウィンドウズ標準の音声合成機能Microsoft Spe…

動画を途中からスローモーションにする

動画を途中からスローモーションにします。Pythonの画像処理ライブラリOpenCVで動画を読み出し、指定した時間以降で同じフレームを10コマ連続させて再び動画にすることでスローモーションにします。

動画からサムネイルを作る

動画から指定のフレームを切り出し文字を入れてサムネイルを作ります。Pythonの画像処理ライブラリOpenCVで動画ファイルの読み出し、指定した秒数のフレームのキャプチャー、明度と彩度の強調を、タイトル文字の描画とリサイズを画像処理ライブラリPillowで…

画像ファイルを指定したファイルサイズまで自動で圧縮する

画像を指定のサイズになるまで自動で圧縮します。Pythonの画像処理ライブラリOpenCVでjpeg品質を指定して画像を保存し、狙いのサイズより大きければjpeg品質を下げて再び保存します。

動画を明るく鮮やかにする

動画を明るく鮮やかに変換します。Pythonの画像処理ライブラリOpenCVで動画の各フレームの彩度、明度に対してガンマ補正を行い強調することで明るく鮮やかに補正します。

フォルダ内の画像からスライドショーを作る(スワイプ切り替え)

指定したフォルダ内の画像を読み出しスライドショーを作成します。Pythonの画像処理ライブラリPillowを使って画像のサイズ調整と次の画像が左からジ徐々に現れる効果を作りスライドショーにします。

フォルダ内の画像からスライドショーを作る(ブラックアウト、ホワイトアウト切り替え)

指定したフォルダ内の画像を読み出しスライドショーを作成します。Pythonの画像処理ライブラリPillowを使って画像のサイズ調整と黒画像(白画像)を挟んで次の画像へ徐々に変化する効果を作りスライドショーにします。

フォルダ内の画像からスライドショーを作る(フェード切り替え)

指定したフォルダ内の画像を読み出しスライドショーを作成します。Pythonの画像処理ライブラリPillowを使って画像のサイズ調整と次の画像へ徐々に変化する効果を作りスライドショーにします。

動画をモノクロ映画っぽくする

動画ファイルを読み出し古いモノクロ映画っぽくします。Pythonの画像処理ライブラリOpenCVで動画を読み出しcvtColorによりグレースケール変換します。よりモノクロ映画っぽくするためにequalizeHistにより画像のコントラストを上げます。

UFO動画を作る

夜景の動画の空にUFOを追加します。動画ファイルを読み出して移動する楕円形を描画し再び動画として保存します。画像処理ライブラリOpenCVで動画ファイルを読み出し、フレーム毎の画像にcv2.ellipseで楕円形を描画し、その画像をつなぎ合わせてUFO動画にしま…

行ったり来たりする動画を作る

特定区間で逆再生-順再生を繰り返す動画を作ります。Pythonの画像処理ライブラリOpenCVで動画ファイルを読み出し、全フレームを画像としていったん保存します。その画像をつなぎ合わせて行ったり来たりする動画を作ります。

動画にタイムコードを入れる

動画ファイルを読み出し、動画の右下にタイムコードを入れて保存します。Pythonの画像処理ライブラリOpenCVで動画を読み出し、現在の時間とフレーム数からタイムコードを作成し動画に書き込みます。

ブログの検索順位を調べる

Pythonでgoogle検索し検索結果を取得、このブログが検索何位に出るかを調べます。検索の実施と結果取得はライブラリRequestsを使い、取得した検索結果からライブラリBeautifulsoup4により必要な情報を抽出します。

動画をマトリックス風に変換する

動画を映画マトリックスのような緑色の反転したカタカナで置き換えます。画像を一コマずつ取り込んでライブラリOpenCVのエッジ検出でエッジ画像を作成、エッジ部分を反転した緑色のカタカナで置き換えます。

グリーンバックの人物を背景と合成する

グリーンバックの人物画像から人物を抜き出して風景画像に貼り付けます。PythonのライブラリPillowのpointメソッドで色相が緑色の画素を抽出しマスク画像を作成、compositeメソッドで人物画像、風景画像をマスクを使って合成します。

複数の写真から検出した人物を切り抜いて並べる

人物の写った複数の画像から人物部分のみを切り抜いて1枚の画像に集約します。Pythonの画像処理ライブラリOpenCVの人の顔の機械学習データを用いて顔検出を行い顔の位置を特定、その周囲を人物として切り抜いて一枚の画像にします。