はじめに
Elixir Image に 0.35.0 で追加されたノイズ除去を Livebook で実行、視覚化してみます
実装したノートブックはこちら
セットアップ
必要なモジュールをインストールします
Mix.install([
{:image, "~> 0.35"},
{:kino, "~> 0.9"}
])
画像の準備
"/home/livebook/vix/noise.jpg" のパスに以下の画像が保存されているものとします
この画像を Image.open
で開きます
noise_image = Image.open!("/home/livebook/vix/noise.png")
ノイズ除去
Image.reduce_noise
で中央値フィルタによりノイズ除去を実行します
第2引数 window_size
でノイズ除去の強さを制御します(デフォルト 3)
[
noise_image,
Image.reduce_noise!(noise_image, 10)
]
|> Kino.Layout.grid(columns: 2)
左が元画像、右がノイズ除去後です
小さい点々がなくなっています
まとめ
かなり簡単にノイズ除去が実装できました