標本化とか画像とか
- アナログ画像
- フィルム写真や絵画、ポスターなど
- 色や座標は連続値を持っている
- デジタル画像(ここでは特に注意書きがない場合、ラスタ画像のことをデジタル画像と呼ぶ)
- アナログ画像をA/D変換して得られる
- 色や座標は離散値でできている(デジタル)
- 標本化
- アナログ画像を格子状に区切ってサンプルを取りその点を、デジタル画像の画素の位置とする(Figure 1参照)
- 標本化が細かいほど、詳細に元のデータを表すことができる、が、データ量は増える
- 標本化が荒いほど、元のデータを大雑把に表す、が、データ量は減る
- 標本化が荒すぎると元のデータを再現できない(まああたりまえだよね)
- 量子化
- 標本化した位置の値を、何階調で表すかを決める
- 符号化
- 量子化した数値を2進数の符号に割り当てる作業
- 符号=10進数を2進数にしたもの = 量子化→符号化は何ビットの2進数で数値を割り当てるか?
- 画素
- ピクセル(Pixel)の事、位置と色の情報を持ったデジタル画像の最小構成要素
- 画素値
- 画素の持っている値=ピクセル値
- 画素をどんなデータで持っているかで値の型や数が変わってくる
- 例 RGBカラーの場合(0.3, 0.5, 0.0)や、(100, 150, 255) などで値を表す。
- チャンネル数
- カラー画像で色を何色の組み合わせで表現するかという、組み合わせる色の数(大体3か4が多い)
- 例 RGBからならRチャンネル、Gチャンネル、Bチャンネルをもっている
- HSBなら Hチャンネル、Sチャンネル、Bチャンネル
- CMYKならC,M,Y,Kの4チャンネル持っている
- 階調数
- 各チャンネルをどのくらいの細かさ(段階、階調)で表すかというのを示す数
- 1bitなら2段階(0~1)
- 4bitなら16段階(0000~1111)
- 8bitなら256段階(00000000~11111111)
- 値が0か1かとか値が0~15かという意味ではないので注意
- 0.0 ~ 1.0 の値を持つものをどのくらいの細かさで分けて表現するかという階調数を表している
- 0.0 → 0000 1.0 → 1111 みたいに割り当てる(符号化)
- チャンネル数が1で階調数が1ビットの画像を2値画像
- チャンネル数が1で階調数が1ビット以外の画像をグレースケール画像
- チャンネル数が3以上の画像をカラー画像と呼ぶ(と思っていい)
解像度
- 1インチ当たりにピクセルが何個詰まっているかという情報を、解像度と呼ぶ
- 解像度の単位はdots per inchi (dpi) または pixels per inch (ppi) 1インチ当たりの点の数を表す
- dpiは印刷物などの1インチ当たりの点の数、ppiはディスプレイなどの表示装置の1インチ当たりのピクセル数を表す
- 本来はモニタの描画性能=表示画素数を表す1920x1600pxなどは解像度とは言わない(誤用が広まっちゃったから、画面解像度とかわけわからん事言うけどね)
参考:
チャンネル分割
カラー画像を、チャンネルごとの1チャンネル画像に分ける処理
例)
RGBカラー画像 ⇒ Rチャンネル画像、Gチャンネル画像、Bチャンネル画像
HSIカラー画像 ⇒ Hチャンネル画像、Sチャンネル画像、Iチャンネル画像
などいろいろ考えられるが、だいたいRGB分割以外はかなりマニアックな用途になってくる。。。
参考:
画像のファイルサイズ
非圧縮形式の画像ファイルのデータサイズは、チャンネル数、階調数(量子化ビット数)、ピクセル数で決まってくる。
圧縮形式の場合は、画像をメモリ上に展開したときの占有メモリサイズになる。
例)
以下のような画像の場合
- 1チャンネル
- 8諧調
- 幅300画素
- 高さ400画素
8階調なので(0~7の8段階)、以下の様に符号化できる
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
$ 画像サイズ = 1(channel) \times 3(bit) \times 300(pixel) \times 400(pixel) = 360000(bit) = 40000(byte) $
練習問題
- XGA(1024×768ピクセル)で、チャンネルがR、G、Bそれぞれ256段階の画像のデータ量を求めなさい。
- RGB3チャンネルで各256段階なのでRGB各8bitで表すことができる
- $ (8+8+8)(bit) \times 1024(pixel) \times 768(pixel) = $
- VGA(640×480ピクセル)で、チャンネルがグレースケール16段階の画像のデータ量をもとめなさい。
- グレースケールなので、1チャネル画像 16段階(0~15)なので各ピクセルは4bitで表される
- $ (4)(bit) \times 640(pixel) \times 480(pixel) = $
- VGA(640×480ピクセル)の2値画像のデータ量を求めなさい。
- 2値画像なので1チャンネル、0と1のみの2段階なので各ピクセルは1bitで表される
- $ (1)(bit) \times 640(pixel) \times 480(pixel) = $