ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

imfuse

2 つのイメージの合成

構文

C = imfuse(A,B)
[C RC] = imfuse(A,RA,B,RB)
C = imfuse(___,method)
C = imfuse(___,Name,Value)

説明

C = imfuse(A,B) は、AB の 2 つのイメージの合成を作成します。AB のサイズが異なる場合、合成を作成する前に両方のイメージが同じサイズになるように imfuse によって小さい方のイメージが 0 でパディングされます。出力 C は、イメージ AB の融合したイメージを含む数値行列です。

[C RC] = imfuse(A,RA,B,RB) は、RARB で提示される空間参照情報を使用して、AB の 2 つのイメージから合成イメージを作成します。出力 RC は、出力融合イメージ C の空間参照情報を定義します。

C = imfuse(___,method)method で指定されるアルゴリズムを使用します。

C = imfuse(___,Name,Value) は、上記の任意の構文を用いて、1 つまたは複数の Name,Value の引数のペアをもつ追加オプションを指定します。

すべて折りたたむ

イメージをワークスペースに読み込みます。コピーを作成して回転オフセットを適用します。

A = imread('cameraman.tif');
B = imrotate(A,5,'bicubic','crop');

混合オーバーレイ イメージを作成し、AB の強度を 1 つのデータセットとして一緒にスケーリングします。

C = imfuse(A,B,'blend','Scaling','joint');

結果のイメージを .png ファイルとして保存し、融合イメージを表示します。

imwrite(C,'my_blend_overlay.png');
imshow(C);

イメージをワークスペースに読み込みます。コピーを作成して回転オフセットを適用します。

A = imread('cameraman.tif');
B = imrotate(A,5,'bicubic','crop');

一方のイメージに赤、イメージ B に緑、これら 2 つのイメージ間にある類似強度の領域に黄色を使用して、混合オーバーレイ イメージを作成します。

C = imfuse(A,B,'falsecolor','Scaling','joint','ColorChannels',[1 2 0]);

結果のイメージを .png ファイルとして保存し、融合イメージを表示します。

imwrite(C,'my_blend_red-green.png');
imshow(C)

イメージをワークスペースに読み込み、それに関連付けられた空間参照オブジェクトを作成します。

A = dicomread('knee1.dcm');
RA = imref2d(size(A));

イメージ A のサイズを変更して 2 番目のイメージを作成し、そのイメージに関連付けられた空間参照オブジェクトを作成します。

B = imresize(A,2);
RB = imref2d(size(B));

参照オブジェクト パラメーターを設定して、ワールド座標系における座標の範囲を指定します。

RB.XWorldLimits = RA.XWorldLimits;
RB.YWorldLimits = RA.YWorldLimits;

類似した強度の領域を示す色を使用して、混合オーバーレイ イメージを作成し、表示します。この例では、イメージ A に赤、イメージ B に緑、2 つのイメージ間で強度が類似している領域に黄色を使用します。2 つのイメージが、類似した強度の領域を共有していないように見えることに注目してください。

C = imfuse(A,B,'falsecolor','Scaling','joint','ColorChannels',[1 2 0]);
imshow(C)

RA および RB の空間参照情報を使用して新しい融合したイメージを作成し、表示します。このバージョンでは、イメージは黄色で表示されます。これは、イメージ AB のワールド座標系における範囲が同じためです。B のサイズが A の 2 倍であるにもかかわらず、2 つのイメージは実質的に同じ位置に揃えられています。

[C,RC] = imfuse(A,RA,B,RB,'ColorChannels',[1 2 0]);

入力引数

すべて折りたたむ

合成イメージに結合されるイメージであり、グレースケール イメージ、トゥルーカラー イメージまたはバイナリ イメージとして指定されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

合成イメージに結合されるイメージであり、グレースケール イメージ、トゥルーカラー イメージまたはバイナリ イメージとして指定されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

入力イメージ A に関連付けられている空間参照情報。imref2d クラスの空間参照オブジェクトとして指定します。

入力イメージ B に関連付けられている空間参照情報。imref2d クラスの空間参照オブジェクトとして指定します。

イメージの結合に使用されるアルゴリズム。次の表のいずれかの値に指定します。

メソッド説明
'falsecolor'異なるカラー帯域に重なっている AB を表示する合成 RGB イメージを作成します。合成イメージの灰色の領域は、2 つのイメージが同じ強度をもつ場所を示します。マゼンタと緑の領域は、強度が異なる場所を示します。これは既定のメソッドです。
'blend'アルファ ブレンディングを使用して AB を重ねます。
'diff'AB から差分イメージを作成します。
'montage'同じイメージで AB を隣り合わせて配置します。

例: C = imfuse(A,B,'montage') は、出力イメージで AB を隣り合わせて配置します。

名前/値のペアの引数

オプションの Name,Value 引数のペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

例: 'Scaling','joint' は、AB の強度値を 1 つのデータセットとして合わせてスケーリングします。

すべて折りたたむ

強度スケーリング オプション。以下のいずれかの値に指定します。

'independent'C の作成時に AB の強度値を別々にスケーリングします。
'joint'イメージ内の強度値を、同じイメージ内で共存していたかのように一緒にスケーリングします。このオプションは、他のイメージのダイナミック レンジ外にある埋め込み値を 1 つのイメージが含む、単一モード イメージのレジストレーションを可視化するときに便利です。
'none'追加のスケーリングはありません。

入力イメージごとの出力カラー チャネル。以下のいずれかの値に指定します。

[R G B]赤、緑、青のチャネルに割り当てるイメージを指定する 3 要素ベクトルです。R、G および B の値は、1 (最初の入力イメージ)、2 (2 番目の入力イメージ) および 0 (それ以外のイメージ) でなければなりません。
'red-cyan'ベクトル [1 2 2] のショートカットで、赤とシアンのステレオ アナグリフに適しています。
'green-magenta'ベクトル [2 1 2] のショートカットで、高いコントラストのオプションです。さまざまなタイプの色覚異常の方に有用です。

出力引数

すべて折りたたむ

入力イメージの合成による融合イメージで、グレースケール イメージ、トゥルーカラー イメージまたはバイナリ イメージとして返されます。

データ型: uint8

空間参照情報であり、空間参照オブジェクトとして返されます。

ヒント

  • 関数 imfuse を使用して、ファイルに保存できる合成した可視化を作成します。関数 imshowpair を使用して、合成した可視化を画面に表示します。

R2012a で導入

この情報は役に立ちましたか?