MATLAB Function Reference    
Image Properties

Image プロパティ

この節は、プロパティ名とそれに設定可能なプロパティ値をリストします。

AlphaData                    double、または、uint8のm行n列の行列

透明度データ。 イメージデータの中の各要素の透明度を設定するNaNでない値を要素とする行列。AlphaDataは、クラス double、または、uint8のどちらかです。

MATLAB は、つぎの3つの方法で、透明度を決定します。

AlphaDataMapping             {none} | direct | scaled

透明度のマッピング手法。 このプロパティは、MATLABがインデックス付きalphaデータをどのように解釈するかを決定します。つぎのいずれかに従います。

BusyAction                   cancel | {queue}

コールバックルーチンの割込みBusyActionプロパティを使って、実行中のコールバックルーチンに割込みを行うイベントの取り扱い方法を制御することができます。実行中のコールバックルーチンがあれば、続いて呼び込まれるコールバックルーチンは、常にそれを中断しようとします。コールバックを実行中のオブジェクトのInterruptibleプロパティがon(デフォルト)に設定されていれば、イベントキューが処理されるつぎの点で割込みが起こります。Interruptibleプロパティがoffならば、(実行中のコールバックをもつオブジェクトの)BusyActionプロパティは、MATLABがイベントを処理する方法を指定します。つぎのような選択があります。

ButtonDownFcn                文字列

ボタンを押したときのコールバックルーチン。 ポインタがImageオブジェクト上にあるときにマウスボタンを押すと、必ず実行されるコールバックルーチン。このルーチンには、正しいMATLAB表現、または、M-ファイル名を文字列で定義できます。式は、MATLABワークスペース内で実行します。

CData                        行列、または、m*n*3の配列

Imageデータ。Imageを定義している各長方形のカラーを指定する値からなる行列。image(C)は、Cの値をCDataに割り当てます。MATLABは、つぎの3つの方法の中からImageのカラーを決定します。

CData に対するトゥルーカラーの仕様は、m*n*3の配列のRGB値を必要とします。最初のページはImageの中の各要素の赤の成分、2ページ目は緑の成分、3ページ目は青の成分を含みます。RGBの値は、0から1の範囲の値です。つぎの図は、2つのカラーモデルに対するCData の次元を示しています。


CDataが1行、または、1列ならば、高さ、または、幅は常に1データ単位で、それぞれ最初のYData、または、 XDataの要素を中心とします。たとえば、4行1列のランダムデータを使用します。

は、つぎのように表示されます。


CDataMapping                 scaled | {direct}

直接、または、スケールされたインデックス付きカラー。このプロパティは、MATLABがCData内の値をFigureのカラーマップへのインデックスとして解釈する(デフォルト)か、あるいは、AxesのCLimプロパティの値に従ってスケーリングするかを指定します。

CDataMappingdirectの場合、CDataの値は1からlength(get(gcf,'Colormap'))の範囲の値にしてください。CDataに対して、トゥルーカラーの仕様を使う場合、このプロパティは影響しません。

Children                     ハンドル番号

空行列。Imageオブジェクトは子オブジェクトをもちません。

Clipping                     on | off

クリッピングモード。 デフォルトでは、MATLABは長方形のAxesにImageを貼り付けます。Clippingoffに設定した場合、Imageは長方形のAxesの外側に表示することができます。たとえば、Imageを作り、 holdonに設定し、軸のスケールを固定し(axis manual)、つぎにそれより大きいImageを作成すると、Axesの範囲を超えて描画します。

CreateFcn                    文字列

オブジェクトの作成中に実行されるコールバックルーチン。 このプロパティは、MATLABがImageオブジェクトを作成するときに実行するコールバックルーチンを定義します。このプロパティは、Imageに対するデフォルト値として定義しなければなりません。たとえば、つぎのステートメント

は、Imageが正方形のピクセルをもつように、縦横比と軸の範囲を設定するルートレベルでのデフォルト値を定義します。MATLABは、Imageのすべてのプロパティが設定された後に、このルーチンを実行します。このプロパティを既存のImageオブジェクトに対して設定しても、影響はありません。

CreateFcnを実行しているオブジェクトのハンドル番号は、ルートのCallbackObjectプロパティによってのみアクセスが可能です。このプロパティは、gcboを使って確認できます。

DeleteFcn                    文字列

Imageを削除するときのコールバックルーチン。 Imageオブジェクトが削除される (たとえば、 deleteコマンドを実行する、あるいはImageを含むAxes、または、Figureを消去する) ときに実行するコールバックルーチン。MATLABは、オブジェクトのプロパティを壊す前にこのルーチンを実行するので、これらのプロパティ値をコールバックルーチンで利用することができます。

DeleteFcnを実行しているオブジェクトのハンドル番号は、ルートのCallbackObjectプロパティによってのみアクセスが可能です。このプロパティは、gcboを使って確認できます。

EraseMode                    {normal} | none | xor | background

消去モード。このプロパティは、Imageオブジェクトを描いたり、消去するMATLABの機能を制御するものです。消去モードは、連続的に動きを表現するアニメーションの作成に有効なものです。すなわち、アニメーションでは、パフォーマンスを改良したり、希望する効果を得るために、個々のオブジェクトを再描画する方法を制御する必要があります。

MATLABは、常にすべてのオブジェクトのEraseModenormalであるかのように、Figureを印刷します。これは、EraseModenone, xor, background に設定されて作成されたグラフィックスオブジェクトが、用紙とスクリーン上では異なって見えることを意味します。スクリーン上では、MATLABは色の層を数学的に重ねて(たとえば、オブジェクトのピクセルの色と、下にあるピクセルの色の排他的論理和をとって)、レンダリングを高速化するための3次元的なソートは無視します。しかし、これらの方法は、印刷の出力には適用されません。

MATLABの captureコマンドや他のスクリーンキャプチャアプリケーションを使って、非標準モードのオブジェクトを含むFigureのイメージを作成できます。

HandleVisibility             {on} | callback | off

コマンドラインユーザとGUIによるオブジェクトのハンドルへのアクセスの制御。このプロパティは、オブジェクトのハンドルが、その子オブジェクトの親のリスト内で視覚可能であるときを決定します。このプロパティは、(ダイアログボックスのような)ユーザインタフェースデバイスのみを含んでいるFigure内に、コマンドラインから誤って書き込むことや削除することを防ぐために有効です。

HandleVisibilityonのときは、ハンドルは常に視覚可能です。

HandleVisibilitycallbackに設定すると、ハンドルは、コールバッ クルーチンの中から、または、コールバックにより起動される関数からは可視化されますが、コマンドラインから起動される関数の中からは可視化されません。これは、コマンドラインユーザがGUIを保護しながら、コールバックルーチンがオブジェクトのハンドルに完全にアクセスできるようにするために提供されています。

HandleVisibilityoffに設定すると、常にハンドルは視覚不可能になります。これは、コールバックルーチンが、GUI(ユーザがタイプした文字列の評価のような)を傷つける可能性がある関数を呼び込み、その関数の実行中にハンドルを一時的に隠すときに必要です。

ハンドルが子オブジェクトの親のリスト内で視覚不可能のとき、オブジェク トの階層を検索したり、ハンドルのプロパティを確認して、ハンドルを取得する関数は、ハンドル番号を出力しません。これらの関数には、get, findobj, gca, gcf, gco, newplot, cla, clf, closeが含まれます。

ハンドルの視覚状態がcallbackoffを使って制限されているとき、オブジェクトのハンドルは、その親のChildrenプロパティには表れません。 Figureは、ルートのCurrentFigure プロパティに表れず、オブジェクトは、ルートのCallbackObjectプロパティ、または、FigureのCurrentObject プロパティに表れません。そして、Axesは、親オブジェクトのCurrentAxesプロパティに表れません。

RootのShowHiddenHandlesプロパティをonに設定すると、それらのHandleVisibilityの設定(これは、HandleVisibilityプロパティの値に影響を与えません)に拘わらず、すべてのハンドルを視覚可能にできます。

隠されているハンドル番号も、まだ有効です。オブジェクトのハンドルが分かっていると、そのプロパティを関数setgetで設定し、ハンドルを取り扱う関数に渡すことができます。

HitTest                      {on} | off

マウスクリックによる選択HitTest は、Image上でのマウスクリックの結果、Imageがカレントのオブジェクト(gcoコマンドとFigureのCurrentObjectプロパティにより出力される)になり得るかどうかを指定します。HiTestoffならば、Imageをクリックすると、その下のオブジェクト(このオブジェクトを含むAxesかもしれません)を選択します。

Interruptible                {on} | off

コールバックルーチンの中断モードInterruptible プロパティは、Imageのコールバックルーチンが、連続的に呼び込まれるコールバックルーチンによって、中断されるかどうかを制御します。ButtonDownFcnに対して定義されたコールバックルーチンのみが、Interruptibleプロパティにより影 響を受けます。MATLABは、ルーチン内でdrawnow, figure, getframe,pauseコマンドが実行されるときのみ、コールバックルーチンを中断できるイベントを確認します。

Parent                       親オブジェクトであるAxesのハンドル番号

Imageの親オブジェクト。 Imageオブジェクトの親オブジェクトであるAxesのハンドル番号。このプロパティを新しいAxesのハンドル番号に変更することにより、Imageオブジェクトを別のAxesに移動できます。

Selected                     on | {off}

オブジェクトの選択状態。このプロパティをonにし、SelectionHighlightプロパティもonならば、MATLABは選択状態を示すハンドルを表示します。たとえば、ButtonDownFcnで、このプロパティを設定するように定義すると、マウスを使ってオブジェクトを選択することができます。

SelectionHighlight           {on} | off

選択時のオブジェクトの強調Selectedプロパティがonの場合、MATLAB は、4辺と4隅に選択状態を示すハンドルを描画します。SelectionHighlightoffの場合、MATLABはハンドルを表示しません。

Tag                          文字列

ユーザ指定のオブジェクトラベルTag プロパティは、ユーザ設定のラベルをもつグラフィックスオブジェクトを識別する方法を与えます。これは、オブジェクトのハンドル番号をグローバル変数として定義したり、コールバックルーチン間の引数としてそれらを受け渡したりする必要がある対話型のグラフィックプログラムを構築するときに、特に有効です。Tag は、任意の文字列で定義できます。

Type                         文字列(参照のみ)

グラフィックスオブジェクトのタイプ。 このプロパティは、グラフィックスオブジェクトのクラスを識別する文字列を含みます。Imageオブジェクトに対しては、Type は、常に'image'です。

UIContextMenu                Uicontextmenuオブジェクトのハンドル番号

コンテキストメニューとImageの対応付け。このプロパティは、Imageと同様に同じFigure内で作成したUicontextmenuオブジェクトのハンドル番号を割り当てます。コンテキストメニューを作成するためには、関数 uicontextmenuを使用してください。MATLABは、Figure上で右マウスボタンをクリックしたときに、コンテキストメニューを表示します。

UserData                     行列

ユーザ指定データ。このプロパティは、Imageオブジェクトと関連付けたい任意のデータです。Imageは、このプロパティを使いませんが、関数set,getを使ってアクセスすることができます。

Visible                      {on} | off

Imageの可視化。デフォルトでは、Imageオブジェクトは視覚可能です。このプロパティをoff に設定すると、Imageは表示されません。しかし、オブジェクトは存在するので、プロパティの参照や設定ができます。

XData                        デフォルト[1 size(CData,2)]

x軸に沿ってのイメージの配置の制御。要素 CData(1,1)CData(m,n)の中心位置を指定するベクトルです。ここで、CDatamn列です。要素CData(1,1)は、XDataYDataの1番目の要素によって定義された座標です。要素CData(m,n) は、XDataYDataの最後の要素によって定義された座標です。CData の残りの要素の中心は、2点の間に等間隔で分布します。

各々のCDataの要素の幅は、つぎの式で決定されます。

XDataに対して、単一の値を指定することもできます。この場合、イメージは、 この座標で1番目の要素を中心とし、1単位ずつ離してつぎの要素の中心とします。

YData                        [1 size(CData,1)](デフォルト)

y軸に沿っての配置の制御。要素CData(1,1)CData(m,n)の中心位置を指定するベクトルです。ここで、CDatamn列です。要素 CData(1,1)は、XDataYDataの1番目の要素によって定義された座標です。要素CData(m,n) は、XDataYDataの最後の要素によって定義された座標です。CDataの残りの要素の中心は、2点の間に等間隔で分布します。

各々のCDataの要素の高さは、つぎの式で決定されます。

YDataに対して、単一の値を指定することもできます。この場合、イメージは、 この座標で1番目の要素を中心とし、1単位ずつ離してつぎの要素の中心とします。

参考:

colormap, imfinfo, imread, imwrite, pcolor, newplot, surface

Using MATLAB Graphicsマニュアルの"ビットマップイメージの表示"の章


 image imagesc