Skip to content

落書き NArray で画像にフィルタをかけてみる

前回に引き続いてRubyのNumo::NArrayを使って、簡単な画像処理をしてあそぶ。

単純平滑化

まずは単純平滑化をしてみる
smoothing

単純平滑化でも、フィルタのサイズをちょっと操作すると画像の雰囲気が変わる。
縦長のフィルタ

smoothing2

ちょっと怖いけど結構気に入ったのでダイナミックに色をつけてみた。もっと簡単な書き方もあるかも知れないけれど、例えばこうする。
横長のフィルタ

# P5 → P6 へ変換。グリーンに着色する

ppm_header もカラー対応のP6にする

うおっ。ブレまくるレナさん。
smoothing_green
すごいホログラムっぽい。おかげで奇妙な立体感まで感じる。

なお、横ブレだと立体感を感じて、縦ブレだと全く感じない理由について心を巡らせると、人間の視覚の驚異にちょっと感動する。
目は2つ必要なんだね。このレナさんはちょっとサイクロプスっぽいけど。レンズが2つあるカメラとか発売したら売れるのだろうか。

エッジ抽出

エッジ抽出用のマスクパターンを使ってみる。

今度は赤で彩色してみる

ppm_header カラー対応P6

edge
このレナさんはかなり怒っている気がします。

平滑化して二値化とかしてみる

このレナさん、モノクロ映画みたいでなんか格好いい。
smoothing4

Sobelフィルタ

sobel
 
なお、ミスして255を超える値を使うと、ゼロから値が始まるので、それはそれで味のある画像が得られます。
errorlena

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*