前回「Web制作時に高解像度の元画像がない場合にPythonで高画質化する方法」を紹介しましたが高画質化された画像が元の画像の4倍になってしまい、そのままでは使いにくい場合がありました。。。
【前回の記事↓】
Web制作時に高解像度の元画像がない場合にPythonで高画質化する方法
https://alaki.co.jp/blog/?p=4208
そこで今回は「SwinIR」で高画質化した画像をコマンド一発で元のサイズにリサイズする方法をご紹介します!
普段コマンドプロンプトやターミナルを使わない方でも、コピペでできるようにコードを用意しましたのでぜひぜひご活用ください!
リサイズした画像の保存先フォルダを作成する
1 2 3 4 5 6 7 |
SwinIR-main/ └ results/ ├ swinir_real_sr_x4_large/ └ convert/ ←ここにリサイズした画像が入る └ testsets/ └ sample/ ←ここに高画質化したい画像を入れる └ resize.py |
前回の処理で「SwinIR-main/results/swinir_real_sr_x4_large」というフォルダに高画質化した画像が書き出されました。
リサイズした画像を保存するために同じ階層の「SwinIR-main/results」の中に「convert」というフォルダを作成しましょう。
画像をリサイズするプログラム
「resize.py」というファイルを「SwinIR-main」直下に作成し、下記のコードをコピペしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
from PIL import Image import pathlib # 画像をリサイズする関数 def scale_to_width(img, width): height = round(img.height * width / img.width) return img.resize((width, height)) # 変換前の画像を格納したフォルダ名 tempImagePath = 'results/swinir_real_sr_x4_large/' # 変換後の画像を格納したフォルダ名 convertFolder = 'results/convert/' # 画像パスを取得 files = pathlib.Path(tempImagePath).glob('*[!DS_Store]') for file in files: # リサイズ前の画像を読み込み img = Image.open(file) # 読み込んだ画像の幅を取得し4分の1の値を割り出す width = (img.width // 4) # 画像をリサイズする shrinkImage = scale_to_width(img,width) # ファイルを保存 shrinkImage.save(convertFolder + file.name, quality=90) # 処理したファイル名を表示 print(file.name) |
ポイントはmacの場合、16行目の画像パスを取得するときに「DS_Store」除外していないとエラーとなります。
1 |
files = pathlib.Path(tempImagePath).glob('*[!DS_Store]')←これ |
リサイズ後のサイズを調整したい場合は24行目の「4」を変更してください。
1 |
width = (img.width // 4) |
プログラムを実行
ターミナルを開いて下記コマンドでSwinIR-mainフォルダまで移動
1 |
$ cd {パス}/SwinIR-main |
リサイズのプログラムを実行
1 |
$ python resize.py |
※python3の実行をpythonコマンドに設定していない場合は「python resize.py」を「python3 resize.py」に変更して実行してください。
これで「SwinIR-main/results/convert」フォルダに高画質化された元画像と同じサイズの画像が書き出されます!
ちなみに元画像と比べてみると……
※左が処理前、右が超解像&リサイズ処理後
同じサイズでもかなり綺麗になりましたね!簡単!
単純作業はなるべくプログラムに任せて、限られた時間をクリエイティブなことに使いたいですね。
ではまた!
最後に
ALAKIでは、これからどんどん海外に向けたビジネスを展開していきます。
クリエイティブ業務における修正依頼にかかる時間を1/5にできる自社サービス「MONJI」は海外のユーザー様にも好評です。
以下のサイトより、超直感的な修正依頼をぜひ体験してみてください!
■MONJI サービス紹介サイト
https://monji.tech/ja/
また最近では、閲覧しているサイトから修正依頼を1クリックで作成可能なChrome拡張機能「MONJI-izm」をリリースしました。
従来の読み込みと比較すると、読み込み速度が2倍に高速化。あっという間に読み込みが完了します。
これまでにない、爆速な読み込みを体験してみてください!
■MONJI Chrome拡張機能「MONJI-izm」
https://chrome.google.com/
※Chrome ウェブストアのページが開きます
ALAKI株式会社では、「MONJI」をはじめとするサービスで世界中に価値を提供するため、一緒に大きな目標に挑戦する仲間を募集中です!
さまざまな国で、さまざまな人たちと、ワクワクするビジネスに挑戦したい方のご応募をお待ちしております!
■ALAKI リクルートサイト
https://recruit.alaki.co.jp/
現場の業務フローに寄り添ったWebシステムをお求めなら、私たちALAKIにご相談ください。
ALAKIは経営者様が感じている問題点と、実際にWebシステムを利用される現場スタッフ様が直面している課題を、弊社システムエンジニアが丁寧に聞き取り、お客様と共にシステムを作り上げていきます。
業務改善が実現できるWebシステムをお求めの方は、是非ALAKIにご相談ください。