Sahara3のAI副業

AI副業でどこまでいけるのか?

AI副業:【オフライン】生成画像「webp形式」を【無料】で「png形式」に変換する方法【ローカル】

「さはら3」です。

AI副業でどこまでいけるのか?をテーマに頑張っていきたいと思います。



本題

  • ChatGPTで画像生成すると、webp形式になってしまう方へ簡単な変換方法をお教えいたします。

このページを読むと何ができるの?

  • ChatGPT等で画像を生成した場合に、webp形式となってしまった場合に、簡単にpng形式に変換できるようになります。しかも【オフライン】【無料】【ローカル】

注意点

  • 筆者はWindowsしか持っていないため、Windows環境限定の方法になります。

流れ

  • 画像生成する

  • webp形式で保存される

  • ImageMagickで変換する

この様な流れとなっています。

ImageMagick

webp形式とは?

  • ChatGPTに聞いてきました。

    • WebP形式は、Googleが開発した画像フォーマットの一つで、ウェブ上で画像を効率的に表示するために設計されています。このフォーマットは、以下のような特徴を持っています。

    • 高い圧縮率:WebPは、従来のJPEGPNG形式に比べて同等の画質でありながら、ファイルサイズを大幅に小さくすることができます。これにより、ウェブページの読み込み速度が向上します。

    • ロスレスおよび有損圧縮の両方をサポート:WebPは、画質を劣化させずに圧縮するロスレス圧縮と、多少の画質劣化を許容してさらにファイルサイズを縮小する有損圧縮の両方をサポートしています。

    • アニメーションのサポート:WebPは、GIF形式のようなアニメーション画像をサポートしていますが、通常はファイルサイズが小さくなります。

    • 透明度のサポート:PNG形式と同様に、WebPも透明度(アルファチャンネル)をサポートしています。

    • ブラウザのサポート:主要なウェブブラウザ(ChromeFirefox、Edgeなど)はWebP形式の画像をサポートしています。ただし、すべてのブラウザで完全にサポートされているわけではないため、互換性に注意が必要です。

    • WebP形式の導入により、ウェブページのパフォーマンスが向上し、ユーザー体験の向上に寄与しています。

  • 「なるほど。」「3行でまとめると?」

    • WebP形式は、Googleが開発した高圧縮率の画像フォーマットで、ロスレス・有損圧縮、アニメーション、透明度をサポートします。JPEGPNGよりもファイルサイズが小さく、ウェブページの読み込み速度を向上させます。主要なブラウザでサポートされていますが、互換性に注意が必要です。
  • とのことでした。互換性に注意が必要という所が、今回のテーマになります。


手順

コマンドプロンプト

  • ちゃんとpng形式で保存ができました。

  • ただし、この方法だと、複数枚webp形式の画像があった場合に非常にめんどくさいですね。

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 "ファイルが選択されませんでした。"
}

  • ファイル → 開く → 「ダウンロードしたps1ファイル」を開きます。

  • 「F5」を押下すると、webpファイル選択ダイアログが表示されるので、「webp」ファイルを選択します。(同じフォルダーの複数選択可)

  • 「このシステムではスクリプトの実行が無効になっているため・・・」とメッセージが表示された場合

    • Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force

    • 上記コマンドを実行する事で、本スクリプトを実行する事ができます。

  • 正常にwebpファイルが変換されると、変換された結果が表示されます。

  • 単ファイルの場合

  • 複数ファイルの場合


最後に

いかがでしたでしょうか?

AI関連は日進月歩、日々之精進でございます。

良いAIライフを!!

最後まで読んで頂きありがとうございました。

AIさはら


Instagram

良かったらInstagramのフォローをお願いします。

https://www.instagram.com/ai_kimono_bijo/

非アダルトで運営しておりますので、職場でも安心して堪能いただけます。