画像は,
Mathematica のフロントエンドとカーネルに堅く統合されており,トップレベルのオブジェクトである.画像オブジェクトは,サポートされている画像ファイル形式の任意ファイルをインポートする際にデフォルトで作成される.しかし,画像式の構造と特性についての基本的な知識がある程度あれば,画像オブジェクトを直接作成することも可能である.
画像オブジェクトを作成する最も簡単な方法は
Imageで0から1までの範囲の実数値の行列の周りを囲むという方法である:
| Out[1]= |  |
便利なことに,この小さい
2×2の画像は実際の大きさよりも大きく表示される.これはフロントエンドの自動機能である.画像を作成する際に
Mathematica はいくつか推定を行い,画像の特性のいくつかに対して自動的に値を選択する.
この自動設定を確かめるためには,画像の
Optionsをチェックする:
| Out[2]= |  |
グレイスケールの画像を明示的に
ColorSpaceを指定することによって作成する:
| Out[3]= |  |
これで
ColorSpaceが明示的な設定を反映するようになった:
| Out[4]= |  |
RGBカラーの画像は3つ1組の実数値か整数値の長方形配列によって定義される.このような構造を持つデータはすべて色画像として見ることができる.
Tuplesを使って原色と二次色に関連する3つ1組の値を作成する:
| Out[5]= |  |
Partitionを使ってリストを4列に分割する:
| Out[6]= |  |
| Out[7]= |  |
InputFormを使って
Image 式の内部構造を見る:
Out[8]//InputForm= |
| |  |
ImageDataを使って画素の値の配列を抽出する.デフォルトで
ImageDataは,色の値の2D配列を0から1の範囲の実数として返す:
| Out[9]= |  |
生の画像データを行列のリスト(それぞれの色チャンネルに対して1つ)として見たい場合もあるかもしれない.
Interleavingを
Falseに設定して画像データをこの形式に変換する:
| Out[10]= |  |
任意の行列,あるいは同じ次元の2つ以上の行列のリストを使って新しい画像を作成することができる.余弦関数をサンプリングし,
Imageを使ってデータから波形の画像を作成する:
| Out[11]= |  |
RGBカラーの画像を3つのそのようなパターン(それぞれの色チャンネルについて1つ)を組み合せることによって作成することができる.まず
Mapを使って3つの異なる関数のリストのリストについてサンプリング計算を繰り返すことによって,データを生成する:
| Out[13]= |  |
もう1つの方法として,3つのグレイスケール画像のリストを組み合せることによってRGB画像を形成するということも可能である.
Mapを
Imageと一緒に使って,
tmpのそれぞれのサンプリングの計算からグレイスケール画像を生成する:
| Out[14]= |  |
今度は
ColorCombineをグレイスケール画像のリストと一緒に使って,RGB画像を作成する:
| Out[15]= |  |
2つのチャンネル画像は,2つの変数の複雑な関数を可視化するのに便利である:
| Out[16]= |  |