「さはら3」です。
AI副業でどこまでいけるのか?をテーマに頑張っていきたいと思います。
本題
- ChatGPTで画像生成すると、webp形式になってしまう方へ簡単な変換方法をお教えいたします。
このページを読むと何ができるの?
- ChatGPT等で画像を生成した場合に、webp形式となってしまった場合に、簡単にpng形式に変換できるようになります。しかも【オフライン】【無料】【ローカル】
注意点
流れ
画像生成する
webp形式で保存される
ImageMagickで変換する
この様な流れとなっています。
ImageMagick
webp形式とは?
ChatGPTに聞いてきました。
WebP形式は、Googleが開発した画像フォーマットの一つで、ウェブ上で画像を効率的に表示するために設計されています。このフォーマットは、以下のような特徴を持っています。
高い圧縮率:WebPは、従来のJPEGやPNG形式に比べて同等の画質でありながら、ファイルサイズを大幅に小さくすることができます。これにより、ウェブページの読み込み速度が向上します。
ロスレスおよび有損圧縮の両方をサポート:WebPは、画質を劣化させずに圧縮するロスレス圧縮と、多少の画質劣化を許容してさらにファイルサイズを縮小する有損圧縮の両方をサポートしています。
アニメーションのサポート:WebPは、GIF形式のようなアニメーション画像をサポートしていますが、通常はファイルサイズが小さくなります。
透明度のサポート:PNG形式と同様に、WebPも透明度(アルファチャンネル)をサポートしています。
ブラウザのサポート:主要なウェブブラウザ(Chrome、Firefox、Edgeなど)はWebP形式の画像をサポートしています。ただし、すべてのブラウザで完全にサポートされているわけではないため、互換性に注意が必要です。
WebP形式の導入により、ウェブページのパフォーマンスが向上し、ユーザー体験の向上に寄与しています。
「なるほど。」「3行でまとめると?」
とのことでした。互換性に注意が必要という所が、今回のテーマになります。
手順
ImageMagickをインストールする
- こちらから、ImageMagickのWindows版をダウンロードしてインストールする https://imagemagick.org/script/download.php#windows
コマンドプロンプト
インストールが完了したら、コマンドプロンプト(cmd.exe)を起動する。
- コマンドプロンプト:スタートボタン→「cmd」と入力
コマンドプロンプトに「magick "webpファイルのフルパス" "pngファイルのフルパス"」を入力し、Enterを押すと、pngとして保存される。
ちゃんとpng形式で保存ができました。
ただし、この方法だと、複数枚webp形式の画像があった場合に非常にめんどくさいですね。
Powershell
という事で、このmagickコマンドをPowershellスクリプトで一気に実行してもらえる様にします。
Powershellスクリプトはこちら
Clear-Host <# 「このシステムではスクリプトの実行が無効になっている・・・」とメッセージが表示された場合に実行してください。 Get-ExecutionPolicy -List Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force #> # ImageMagickのインストールを確認する関数 function Check-ImageMagick { try { $version = magick -version 2>&1 if ($version -match "ImageMagick") { return $true } else { return $false } } catch { return $false } } # ファイル選択ダイアログを表示する関数 function Show-FileDialog { param ( [string]$title = "ファイルを選択してください", [string]$filter = "WebPファイル (*.webp)|*.webp|すべてのファイル (*.*)|*.*" ) Add-Type -AssemblyName System.Windows.Forms $openFileDialog = New-Object System.Windows.Forms.OpenFileDialog $openFileDialog.Title = $title $openFileDialog.Filter = $filter $openFileDialog.Multiselect = $true if ($openFileDialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) { return $openFileDialog.FileNames } else { return $null } } # ImageMagickがインストールされているか確認 if (-not (Check-ImageMagick)) { Write-Host "ImageMagickがインストールされていません。公式サイトからダウンロードしてインストールしてください: https://imagemagick.org/" exit } # ファイル選択ダイアログを表示し、選択されたファイルパスを取得 $filePaths = Show-FileDialog # ファイルが選択された場合に処理を続行 if ($filePaths) { foreach ($filePath in $filePaths) { # 出力ファイルパスを作成 $outputPath = [System.IO.Path]::ChangeExtension($filePath, ".png") # magickコマンドでWebPをPNGに変換 $command = "magick `"$filePath`" `"$outputPath`"" Invoke-Expression $command Write-Host "変換が完了しました: $outputPath" } } else { Write-Host "ファイルが選択されませんでした。" }
ダウンロード先 https://drive.google.com/file/d/11bX8BL3e3rnIffNgpNBZncb0r9ugkkxD/view?usp=sharing
使用方法
上記スクリプトをダウンロードする
スタート→「Powershell」を検索
「Powershell ISE」を起動する
- ファイル → 開く → 「ダウンロードしたps1ファイル」を開きます。
- 「F5」を押下すると、webpファイル選択ダイアログが表示されるので、「webp」ファイルを選択します。(同じフォルダーの複数選択可)
「このシステムではスクリプトの実行が無効になっているため・・・」とメッセージが表示された場合
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
上記コマンドを実行する事で、本スクリプトを実行する事ができます。
正常にwebpファイルが変換されると、変換された結果が表示されます。
単ファイルの場合
複数ファイルの場合
最後に
いかがでしたでしょうか?
AI関連は日進月歩、日々之精進でございます。
良いAIライフを!!
最後まで読んで頂きありがとうございました。
AIさはら
良かったらInstagramのフォローをお願いします。
https://www.instagram.com/ai_kimono_bijo/
非アダルトで運営しておりますので、職場でも安心して堪能いただけます。