imfuse
2 つのイメージの合成
説明
例
2 つのイメージの混合オーバーレイの作成
イメージをワークスペースに読み込みます。コピーを作成して、回転オフセットを適用します。
A = imread('cameraman.tif'); B = imrotate(A,5,'bicubic','crop');
混合オーバーレイ イメージを作成し、A
と B
の強度を 1 つのデータセットとして一緒にスケーリングします。融合したイメージを表示します。
C = imfuse(A,B,'blend','Scaling','joint'); imshow(C)
結果のイメージを .png
ファイルとして保存します。
imwrite(C,'my_blend_overlay.png');
類似強度の領域を区別するための色を使用したオーバーレイ イメージの作成
イメージをワークスペースに読み込みます。コピーを作成して回転オフセットを適用します。
A = imread('cameraman.tif'); B = imrotate(A,5,'bicubic','crop');
イメージ A
に赤、イメージ B
に緑、2 つのイメージ間で強度が類似している領域に黄色を使用して、混合オーバーレイ イメージを作成します。次に、オーバーレイ イメージを表示します。
C = imfuse(A,B,'falsecolor','Scaling','joint','ColorChannels',[1 2 0]); imshow(C)
結果のイメージを .png
ファイルとして保存します。
imwrite(C,'my_blend_red-green.png');
2 つの空間参照イメージのオーバーレイの作成
イメージをワークスペースに読み込み、それに関連付けられた空間参照オブジェクトを作成します。
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 つのイメージ間で強度が類似している領域に黄色を使用します。
C = imfuse(A,B,'falsecolor','Scaling','joint','ColorChannels',[1 2 0]);
融合したイメージを表示します。2 つのイメージが、類似した強度の領域をあまり共有していないように見えることに注目してください。この例では、見やすくするために融合したイメージを縮小しています。
C = imresize(C,0.5); imshow(C)
今度は、RA
および RB
の空間参照情報を使用して融合したイメージを新規作成します。
[D,RD] = imfuse(A,RA,B,RB,'ColorChannels',[1 2 0]);
融合した新しいイメージを表示します。このバージョンでは、イメージは黄色で表示されます。これは、イメージ A
と B
のワールド座標系における範囲が同じためです。B
のサイズが A
の 2 倍であるにもかかわらず、2 つのイメージは実質的に同じ位置に揃えられています。この例では、見やすくするために融合したイメージを縮小しています。
D = imresize(D,0.5); imshow(D)
入力引数
A
— 合成イメージに結合される最初のイメージ
グレースケール イメージ | トゥルーカラー イメージ | バイナリ イメージ
合成イメージに結合される最初のイメージ。グレースケール イメージ、トゥルーカラー イメージ、またはバイナリ イメージとして指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
B
— 合成イメージに結合される 2 番目のイメージ
グレースケール イメージ | トゥルーカラー イメージ | バイナリ イメージ
合成イメージに結合される 2 番目のイメージ。グレースケール イメージ、トゥルーカラー イメージ、またはバイナリ イメージとして指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
method
— イメージの結合に使用されるアルゴリズム
"falsecolor"
(既定値) | "blend"
| "diff"
| "montage"
イメージの結合に使用されるアルゴリズム。次の表のいずれかの値に指定します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: C = imfuse(A,B,Scaling="joint")
は、A
と B
の強度値を 1 つのデータセットとして合わせてスケーリングします。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: C = imfuse(A,B,"Scaling","joint")
は、A
と B
の強度値を 1 つのデータセットとして合わせてスケーリングします。
ColorChannels
— 入力イメージごとの出力カラー チャネル
"green-magenta"
(既定値) | [R G B]
| "red-cyan"
入力イメージごとの出力カラー チャネル。以下のいずれかの値に指定します。
[R G B] | 赤、緑、青のチャネルに割り当てるイメージを指定する 3 要素ベクトルです。R、G および B の値は、1 (最初の入力イメージ)、2 (2 番目の入力イメージ) および 0 (それ以外のイメージ) でなければなりません。 |
"red-cyan" | ベクトル [1 2 2] のショートカットです。赤とシアンのステレオ アナグリフに適しています。 |
"green-magenta" | ベクトル [2 1 2] のショートカットで、高いコントラストのオプションです。さまざまな種類の色覚異常の方に適しています。 |
出力引数
ヒント
関数
imfuse
を使用して、ファイルに保存できる合成した可視化を作成します。関数imshowpair
を使用して、合成した可視化を画面に表示します。空間参照情報
RA
とRB
を指定する場合、imfuse
は入力参照オブジェクトを結合し、両イメージのワールド座標範囲が含まれる境界ボックスを取得します。境界ボックス全体がワールド座標の非整数ピクセル次元になる場合、融合イメージは黒いピクセルの追加行または追加列をもつことができます。imfuse
は縮小されたピクセル範囲に従って元のイメージをサンプリングするため、歪みが発生します。
バージョン履歴
R2012a で導入
参考
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)