2020-10-21画像を簡単に大きさを変えたり、圧縮する方法ってないかな〜PythonのOpenCVを使えば、簡単に画像を好きなサイズに変えたり、圧縮できるよ。本記事では、PythonのOpneCVというライブラリを用いて、画像を好きなサイズに切り取り、圧縮したり、圧縮するプログラムをご紹介します。・OpenCVを使って、画像のサイズに変えたり、圧縮するプログラムを作りたい。・Pythonで自分で関数を作って、インポートして使ってみたい。今回は、以下の実行環境でプログラムを実行しています。1.2.6・cv2:4.3.0テスト画像としては、Pixabayからダウンロードした下の画像を使っていきます。ファイル名は「input.jpg」とします。ダウンロード時は、容量:395KB、サイズ:1920×1357となっております。Python/OpenCVで画像の切り取り、縮小、圧縮をするプログラム今回は、Python/OpenCVで画像を切り取り、縮小、圧縮するプログラムを1つのpyファイルで書き、それをJupyterNotebookで利用することを想定しています。pyファイルの名前は、「image_edit.py」とし、pyファイルを実行するNotebookファイルは、「image_edit_run.ipynb」とします。今回、実行するフォルダは、下図の通りとなります。ちなみに、画像の切り取りと縮小の違いについては、次のページを見ればイメージがつきます。参考画像の切り取りと縮小のイメージPython/OpenCVで画像を切り取るプログラムそれでは、画像を切り取るプログラムをから見ていきます。cut関数として作成します。ここでは、画像の中央部分で切り取る仕様としています。デフォルトでは、1200×675のサイズで切り取られます。関数の引数に、対象の画像ファイル名、加工後のファイル名、そして任意で切り取りたい幅と高さを指定します。インプット画像を指定の大きさに(デフォルト:1200×675)に切り取りする。img2)Python/OpenCVで画像を縮小するプログラム次に画像を縮小するプログラムを見ていきます。shrink関数として作成します。引数は、切り取りのcut関数と同様としています。インプット画像を指定の大きさに(デフォルト:1200×675)に縮小する。img2)Python/OpenCVで画像を圧縮するプログラム最後に画像を圧縮するプログラムです。今回は、to_100kb関数として100KB以下に圧縮するプログラムを書いています。下のプログラムの100000の部分を、好きなバイト数に変更できます。引数は、対象の画像ファイル名、加工後のファイル名です。インプット画像を100KB以下にする画像を生成する。max(tmp_list)])実際にOpenCVのプログラムを実行してみるそれでは、「image_edit_run.ipynb」で上記のプログラムを実行してみたいと思います。1行目では、pyファイル名を記載します。それ以降は、image.関数名として処理を実行します。3行目と5行目では、画像のサイズを指定して、切り取り・縮小を行っています。2行目〜5行目で切り取り・縮小された画像は次の通りとなります。6行目の処理で、正常に100KB以下に圧縮されたことがわかります。これで今回は以上となります。いかがでしたでしょうか?PythonのOpenCVを用いることで、画像の切り取り、縮小、圧縮を手軽にできそうですよね。した方がいいよ〜とか、ここが分からない等ありましたら、Twitterまで連絡をお待ちしています。最後まで読んでいただき、ありがとうございました。-Pythonを利用-インスタって自動で投稿できないのかな。...4これまでPythonで作ったツール・プログラム(ブログ、SNS、画像処理)ここでは、サイト管理者のいなサラがこれまでPythonで作ったものをご紹介します。画像処理PythonでPNG画像の色を変換してブログ画像やサムネイルを作る方法PREVPythonでブログ画像を16:9に切り取り・縮小、100KB以下に圧縮する方法NEXTPythonでPNG画像の色を変換してブログ画像やサムネイルを作る方法いなサラ田舎の情シスサラリーマン。妻と娘(5歳、1歳)の4人家族。2017年にNTTデータからUターン転職し、事業会社の社内SEで勤務。note」を立ち上げ、収益化。-Pythonを利用-インスタって自動で投稿できないのかな。...4これまでPythonで作ったツール・プログラム(ブログ、SNS、画像処理)ここでは、サイト管理者のいなサラがこれまでPythonで作ったものをご紹介します。