少し前にibisPaintの「画像補間」について触れた。
アプリを使う分には知らなくても何とかなるのだが、気になる。
というわけでさらりと調べてみた。
画像補間とは、本来はない画素を画像処理で作り出して補うことのことを言う。
画像を拡大・縮小、移動や回転などの操作をするときに
もとのピクセルのあいだに中間の色を生成したり、隣り合うピクセルの色を保管して平均化したりする。
低画素で印刷する時に出やすいジャギー(輪郭のギザギザ)を軽減したり、大きなものを印刷するために編み出された技術である。
例としては、デジタルズームに良く用いられている。
デジタルズームは、カメラなどのレンズのズームの代わりに、画像をトリミングすることでズームしているように見せている。
その時、トリミングで減ってしまった画素数を人工的に作る=補間することで、画素数を増やし、元に戻す処理こそが画像補間だ。
800万画素(iPhone5など)で撮影された画像から 1200万画素(iPhone12相当)で撮影したような画像を作ることができるのも画像補間によるものなのだ。
画像補間には
・ニアレスト・ネイバー法
・バイ・リニア法
・バイ・キュービック法
と3つの方法があり、それぞれ画像処理に行う計算に違いがあり
ニアレストネイバー<バイリニア<バイキュービック の順で計算に時間がかかるが、その分精度の高い補間ができるようになる。
精度が高いとはいっても、補間によって画素数の増えた画像とそうでない画像では、肉眼で見ただけでも解像度に違いが出てしまう。
画像処理といえば…
大学の講義に、とある言語を用いて画像処理をするというものがあった。
カラー画像を白黒にしたり、グレースケールにしたりとお題は様々(私はうまくできなかった)。
ここでふと思い出すのは、この画像処理というものは画面の裏では様々な計算(数学)が走っているということだ。
例えば、バイリニア法には線形補間と言われる数値解析の分野が使われる。
カラー画像を二値化するのにも、ある程度の計算が用いられているし
プログラムというものには、ほとんど数学が絡んでいる。
じゃあ数学に特化できればプログラムが書けるのかと言われればそういうわけでもない。
プログラム言語の殆どは英語で表記されるので英語力も試される。
プログラムを見ても、ひとつを成すのに必要な知識や技術は、「ひとつ」では済まないようだ。