前提・実現したいこと
RealESRGANを用いて、複数の画像を一括で拡大処理するバッチファイルを作成したい。
▽RealESRGAN
https://github.com/xinntao/Real-ESRGAN
発生している問題・エラーメッセージ
フォルダ内の画像をforループで参照し、拡大処理を行っているが、出力されたファイルも参照されてしまい、無限ループしてしまう。
出力された画像(拡大された画像)にさらに拡大処理を行っている状況。
該当のソースコード
@echo off setlocal enabledelayedexpansion pushd "%~dp0" set path="realesrgan-ncnn-vulkan.exe" rem 出力画像名を「ファイル名_4x.png」のように設定 set suffix=_4x for %%f in (*.jpg *.jpeg *.png) do ( rem 拡大処理 参照元のファイルから、新たに拡大された画像を生成(出力)します call %path% -i %%f -o "%%~nf%suffix%".png -n realesrgan-x4plus-anime ) popd pause
試したこと
一応、もとあるファイル数以上のループ処理を行わないようにすることで対応しましたが、
正直もっと賢いやり方があるのでは、と思い質問させていただきました。
余分なループ処理を行わないような最適解を探しています。
@echo off setlocal enabledelayedexpansion pushd "%~dp0" set path="realesrgan-ncnn-vulkan.exe" set suffix=_4x set /a counter=0 for %%A in (*.jpg *.jpeg *.png) do ( if exist %%A (set /a counter=counter+1) ) echo %counter% set num=0 for %%f in (*.jpg *.jpeg *.png) do ( if !num! lss %counter% ( call %path% -i %%f -o "%%~nf%suffix%".png -n realesrgan-x4plus-anime ) set /a num=num+1 echo !num! ) popd pause
よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
▽RealESRGAN
https://github.com/xinntao/Real-ESRGAN
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。