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

showMatchedFeatures

対応する特徴点を表示

構文

showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2)
showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,method)
showMatchedFeatures(___,PlotOptions, {MarkerStyle1, MarkerStyle2, LineStyle})
H = showMatchedFeatures(___)

説明

showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2) は、ラインで連結された対応する点の色分けされたプロットを使用して、イメージ I1I2 にフォールスカラーを重ねて表示します。matchedPoints1matchedPoints2 には、I1I2 の対応する点の座標が含まれます。入力点には、M 個の [x y] 座標の M 行 2 列の行列、または SURFPoints オブジェクト、MSERRegions オブジェクト、cornerPoints オブジェクトを使用できます。

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

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

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

すべて折りたたむ

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

I1 = rgb2gray(imread('parkinglot_left.png'));
I2 = rgb2gray(imread('parkinglot_right.png'));

SURF 特徴を検出します。

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; ax = axes;
showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,'montage','Parent',ax);
title(ax, 'Candidate point matches');
legend(ax, 'Matched points 1','Matched points 2');

SURF 特徴を使用して、互いに回転およびスケーリングされた 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; ax = axes;
showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,'Parent',ax);
title(ax, 'Putative point matches');
legend(ax,'Matched points 1','Matched points 2');

入力引数

すべて折りたたむ

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

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

イメージ 1 の点の座標。M 個の [x y] 座標の M 行 2 列の行列、または SURFPoints オブジェクト、MSERRegions オブジェクト、cornerPoints オブジェクト、BRISKPoints オブジェクトとして指定します。

イメージ 2 の点の座標。M 個の [x y] 座標の M 行 2 列の行列、または SURFPoints オブジェクト、MSERRegions オブジェクト、cornerPoints オブジェクト、BRISKPoints オブジェクトとして指定します。

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

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

名前と値のペアの引数

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

例:

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

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

出力引数

すべて折りたたむ

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

R2012b で導入