画像データは数式を使うとどのように表せるのでしょうか。
今回は簡単のため、白黒の画像を対象にしています。
カラー画像の場合は今回の話を赤青緑の3つに分けて、それらの和を考えることになります。
まず、実物の例を見ます。
ここに $100\times 100$ ピクセル(画素)の画像データがあります。

この画像を3Dでプロットしてみると次のグラフのようになります。

見ての通り、白色の(明るい)部分ほど輝度の値が $1$ に近く、黒色の(暗い)部分ほど輝度の値が $0$ に近いことがわかりますね。
そして、黒色の部分と白色の部分が隣り合っている箇所では、輝度の変化が特に大きくなっています。
この画像を地形だと思えば、一番標高が低い黒色の部分から灰色の部分に上がるよりも、一番標高が低い黒色の部分から一番標高が高い白色の部分に上がる方が大変そうですよね。
(このような標高の変化が大きい場所を画像のエッジと呼ぶことがあります。)
次は、 $100\times 100$ ピクセルではなく、もっと小さい次のような $4\times 5$ ピクセルの画像を考えてみましょう。
画像の各ピクセルの輝度については、白色の部分の値が $1$ 、黒色の部分の値が $0$ で、灰色の部分の値はその間の値を取ります。

上図のように画像の左上を原点として、縦軸 $i$ で横軸 $j$ の座標軸を取ります。
ただし、変数 $i\, ,j$ の取り得る値は画像サイズを $N_i \times N_j$ として、 $i=1\,,2\,,3\,, \cdots\,,N_i$ と $ j=1\,,2\,,3\,, \cdots\,,N_j$ です。
(このような取り方をした座標のことを画像座標(pixel coordinates)と呼びます。)
このとき、画像を3Dでプロットすると次のグラフのようになります。

$f\,:\Omega(\subset\setR^2)\to[0\,,1]$ は $(i\,,j)\mapsto f_{i\,,j}$ で、$f_{i\,,j}$ を座標 $(i\,,j)$ における輝度(intensity)と呼びます。
(関数の値域を $[0\,,1]$ としていますが、$0$ から $255$ の間の整数の集合である場合もあります。 )
座標の原点 $O$ の座標は $(0\,,0)$ です。
例えば、先程の3Dでプロットしたグラフにおいて、座標 $(i\,,j)=(1\,,2)$ における輝度 $f_{1\,,2}$ は次のような位置にあります。

今回のように画像のピクセル上で離散的な関数 $f_{i\, ,j}$ を考えると、画像のピクセルの間の傾き(すなわち色の輝度の変化)などを考えることができるようになります。
これによって離散的な関数 $f_{i\, ,j}$ の差分(離散的な微分)を計算して、その大小を見ることでエッジを検出するといった話にもつながっていきます。
コメント