Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

ChatGPT Code Interpreterで画像編集をしてみる

カメラ好き機械学習エンジニアの@yktm31です。

先日、以下のように、ChatGPTのCode Interpreterを用いて、画像データを加工する記事を書きました。
その際は、リサイズや画像の切り抜きなど、基本的な加工ができることを確認しました。
今回は、画像編集ソフトで行うような、より高度な画像処理を実施してみたいと思います。 acro-engineer.hatenablog.com

利用する画像は前回記事と同様、以前撮影した富士山の写真を使いたいと思います。

画像処理/加工

今回、以下のような画像処理/加工を実施してみました。

ガンマ補正を適用し画像を明るくする

ガンマ補正は、画像の明るさを非線形に調整するための手法です。

一番単純に画像を明るくする方法は、画像の全ピクセルの明るさを線形に増加させることです。
しかし、この方法は全てのピクセルに対して同じように明るさを変更するため、画像の明暗のバランスを崩す可能性があります。

ガンマ補正を適用するメリットは、より自然な明るさの分布になることです。
画像の全体的な明るさを変えるだけでなく、暗い領域と明るい領域の両方を適切に調整できます。

今回は、パラメーター0.5でガンマ補正を適用してみました。

線形で明るくした場合とも比較してみてみます。

一番右側が、ガンマ補正による明るさ補正です。
中央の線形処理よりも、自然な感じで明るくすることができました。

CLAHEを適用しコントラストを調整する

次に、コントラストを調整してみます。

コントラスト調整は、CLAHE(Contrast Limited Adaptive Histogram Equalization)という手法を使ってみます。
CLAHE画像のコントラストを局所的に調整するための手法です。
通常のヒストグラム平坦化は画像全体に適用されますが、CLAHEは小さな領域(タイル)ごとにヒストグラム平坦化を行います。
その結果、画像全体のコントラストを適切に調整することができます。

山肌のコントラストが強調され、迫力が出た感じがします。

シャープネスを向上させる

最後に、シャープネスを上げてより明瞭な画像にしてみたいと思います。

ここでは、「アンシャープマスキング」という手法を利用します。
アンシャープマスキングは、元の画像からぼかした画像を引くことで、エッジを強調します。

その結果、画像はより鮮明に見え、細部がよりはっきりと表示されます。

変化が分かりづらいので、山頂付近を拡大してみます。

CLAHE適用後

シャープネス向上後

シャープネス向上後の方がザラザラ感があり、 遠目でみると輪郭がはっきり見える感じがあります。

一方、ノイズも目立ってきました。

ノイズ除去を適用する

最後に、ノイズ除去できるか見てみましょう。

ノイズ除去は、手法を指定せず、ChatGPTにお任せしてみました。
すると、「非局所平均フィルター(Non-Local Means Denoising)」を選択してくれました。

こちらも拡大してみてみます。

ディテール感はやや失われていますが、シャープネス向上で目立ってきたノイズは消えたように思います。

まとめ

ChatGPT Code Interpreterを使った画像編集は、期待に応える結果でした。

通常であれば画像編集は、Photoshopなどの編集ソフトで行うと思います。 シンプルな内容ではありますが、ChatGPTに言葉で指示して画像編集できるという体験は、とても面白いです。

また、今回は触れませんでしたが、各処理のパラメータを変化させて、比較させてみるなど まだまだ応用できそうなところは多そうです。

それではまた!

「小企業が実践したノウハウを展開!中小企業でChatGPTどう活かすのか?」 近日開催します! 20230726204731