Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

showMatchedFeatures

対応する特徴点を表示

説明

showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2) は、ラインで連結された対応する点の色分けされたプロットを使用して、イメージ I1I2 にオーバーレイを表示します。matchedPoints1matchedPoints2 には、I1I2 の対応する点の座標が含まれます。

showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,method) は、method パラメーターによって指定された可視化スタイルを使用して、イメージ I1I2 を表示します。

showMatchedFeatures(___,PlotOptions, {MarkerStyle1, MarkerStyle2, LineStyle}) では、3 つの値を含む cell 配列でカスタム プロット オプションを指定できます。MarkerStyle1MarkerStyle2 および LineStyle の値は、I1 のマーカー記号、I2 のマーカー記号、およびラインのスタイルと色に対応します。関数 plotLineSpec 構文は、それぞれの指定子を定義します。

showMatchedFeatures(___,Name=Value) は、前の構文にある引数の任意の組み合わせに加えて、名前と値の引数を 1 つ以上使用してオプションを指定します。たとえば、showMatchedFeatures(__,PlotOptions={"d","+","g"}) は、マーカー スタイルとして I1 にひし形を、I2 にプラス記号を、色を緑に設定します。

H = showMatchedFeatures(___) は、showMatchedFeatures によって返されるイメージ オブジェクトのハンドルを返します。

すべて折りたたむ

イメージを読み取ります。

I1 = im2gray(imread("parkinglot_left.png"));
I2 = im2gray(imread("parkinglot_right.png"));

Harris 特徴を検出します。

points1 = detectHarrisFeatures(I1);
points2 = detectHarrisFeatures(I2);

特徴を抽出します。

[f1,vpts1] = extractFeatures(I1,points1);
[f2,vpts2] = extractFeatures(I2,points2);

特徴をマッチさせます。

indexPairs = matchFeatures(f1,f2);
matchedPoints1 = vpts1(indexPairs(1:20,1));
matchedPoints2 = vpts2(indexPairs(1:20,2));

マッチ候補を可視化します。

figure; 
showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,"montag");
title("Candidate point matches");
legend("Matched points 1","Matched points 2");

イメージを読み取ります。

I1 = imread("cameraman.tif");
I2 = imresize(imrotate(I1,-20), 1.2);

SURF 特徴を検出します。

points1 = detectSURFFeatures(I1);
points2 = detectSURFFeatures(I2);

特徴を抽出します。

[f1,vpts1] = extractFeatures(I1,points1);
[f2,vpts2] = extractFeatures(I2,points2);

特徴をマッチさせます。

indexPairs = matchFeatures(f1,f2);
matchedPoints1 = vpts1(indexPairs(:,1));
matchedPoints2 = vpts2(indexPairs(:,2));

マッチ候補を可視化します。

figure;
showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2);
title("Putative point matches");
legend("Matched points 1","Matched points 2");

入力引数

すべて折りたたむ

入力イメージ 1。数値配列として指定します。

入力イメージ 2。数値配列として指定します。

イメージ 1 の点の座標。M 個の [x y] 座標からなる M 行 2 列の行列、または特徴点のタイプで説明されている特徴点オブジェクトの 1 つとして指定します。

イメージ 2 の点の座標。M 個の [x y] 座標からなる M 行 2 列の行列、または特徴点のタイプで説明されている特徴点オブジェクトの 1 つとして指定します。

表示方法。次のいずれかとして指定します。

falsecolorI1 を赤、I2 をシアンとして表示する赤とシアンの合成イメージを作成して、イメージを重ね合わせます。
blend アルファ ブレンディングを使用して I1I2 を重ね合わせます。
montage同じイメージで I1I2 を隣り合わせて配置します。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: showMatchedFeatures(__,PlotOptions={"d","+","g"}) は、マーカー スタイルとして I1 にひし形を、I2 にプラス記号を、色を緑に設定します。

マーカー、ラインのスタイル、および色のオプション。文字ベクトルの cell 配列または string 配列として指定します。3 つの値 {MarkerStyle1, MarkerStyle2, LineStyle} は、I1 のマーカー記号、I2 のマーカー記号、ラインのスタイルと色に対応します。関数 plotLineSpec 構文は、それぞれの指定子を定義します。

可視化の表示のための出力座標軸。axes グラフィックス オブジェクトとして指定します。

出力引数

すべて折りたたむ

イメージ オブジェクトのハンドル。showMatchedFeatures によって表示されます。

バージョン履歴

R2012b で導入