主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

estimateGeometricTransform

マッチする点のペアから幾何学変換を推定

説明

tform= estimateGeometricTransform (matchedPoints1matchedPoints2transformTypeは2次元幾何学的変換オブジェクトtformを返します。tformオブジェクトは,matchedPoints1のインライアをmatchedPoints2のインライアにマッピングします。

関数は,M-estimator样品一致(MSAC)アルゴリズムを使用して外れ値を排除します。MSACアルゴリズムは,随机样本的共识(RANSAC)アルゴリズムのバリアントです。MSACアルゴリズムのランダム性のために,すべての実行で結果が同一にならない場合があります。

メモ

この関数は将来のリリースで削除される予定です。高度な機能を提供する関数estimateGeometricTransform2dまたはestimateGeometricTransform3dを使用します。

tforminlierpoints1inlierpoints2) = estimateGeometricTransform (matchedPoints1matchedPoints2transformTypeは,inlierpoints1inlierpoints2の対応するインライア点を返します。

___状态) = estimateGeometricTransform (matchedPoints1matchedPoints2transformTypeは,ステータスコード01または2を返します。状态コードの出力を要求しない場合,関数は結果を生成できない状態に対してエラーを返します。

___) = estimateGeometricTransform (matchedPoints1matchedPoints2transformType名称,值は1つ以上の名称,值引数ペアによって指定された追加オプションを使用します。

すべて折りたたむ

イメージを読み取り,それを表示します。

原始= imread (“cameraman.tif”);imshow(原始)标题(“基础镜像”

変換後のイメージを歪めて表示します。

扭曲= imresize(原始,0.7);扭曲= imrotate(扭曲、31);图imshow(扭曲)标题(改变了形象的

元のイメージと変換後のイメージから特徴を検出して抽出します。

ptsOriginal = detectSURFFeatures(原始);ptsDistorted = detectSURFFeatures(扭曲);[featuresOriginal, validPtsOriginal] = extractFeatures(原始ptsOriginal);[featuresDistorted, validPtsDistorted] = extractFeatures(扭曲,ptsDistorted);

イメージ間の特徴をマッチさせて表示します。

index_pairs = matchFeatures (featuresOriginal featuresDistorted);matchedPtsOriginal = validPtsOriginal (index_pairs (: 1));matchedPtsDistorted = validPtsDistorted (index_pairs (:, 2));图showMatchedFeatures(原始的、扭曲、matchedPtsOriginal matchedPtsDistorted)标题(“与异常值匹配的SURF点”);

外れ値を排除して変換行列を推定し,その結果を表示します。

[tform, inlierIdx] = estimateGeometricTransform2D (matchedPtsDistorted matchedPtsOriginal,“相似”);inlierPtsDistorted = matchedPtsDistorted (inlierIdx:);inlierPtsOriginal = matchedPtsOriginal (inlierIdx:);图showMatchedFeatures(原始的、扭曲、inlierPtsOriginal inlierPtsDistorted)标题(“匹配窗点”

推定した変換を使用して,歪めたイメージから元のイメージを復元して表示します。

outputView = imref2d(大小(原始));Ir = imwarp (tform扭曲,“OutputView”, outputView);图imshow (Ir);标题(恢复图像的);

入力引数

すべて折りたたむ

イメージ1のマッチ点。KAZEPointscornerPointsオブジェクト,SURFPointsオブジェクト,MSERRegionsオブジェクト,ORBPointsオブジェクト,BRISKPoints,または(x, y)座標のM行2列の行列のいずれかとして指定します。関数は,M-estimator SAmple Consensus (MSAC) アルゴリズムを使用して外れ値を排除します。MSAC アルゴリズムは、Random Sample Consensus (RANSAC) アルゴリズムのバリアントです。

イメージ2のマッチ点。KAZEPointscornerPointsオブジェクト,SURFPointsオブジェクト,MSERRegionsオブジェクト,ORBPointsオブジェクト,BRISKPoints,または(x, y)座標のM行2列の行列のいずれかとして指定します。関数は,M-estimator SAmple Consensus (MSAC) アルゴリズムを使用して外れ値を排除します。MSAC アルゴリズムは、Random Sample Consensus (RANSAC) アルゴリズムのバリアントです。

変換タイプ。3.つの文字列のいずれかとして指定します。変換タイプは“相似”仿射的または“射影”に設定できます。マッチする点のペアの数が多くなると,推定された変換の精度が高くなります。各変換タイプのマッチする点のペアの最小数は次のとおりです。

変換タイプ マッチする点のペアの最小的数
“相似” 2
仿射的 3.
“射影” 4

データ型:字符

名前と値のペアの引数

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

例:“信心”99の場合,信頼度の値が99に設定されます。

インライアを検出するためのランダム試行の最大回数。MaxNumTrials“と正の整数スカラーで構成されるコンマ区切りのペアとして指定します。この値を大きくすると結果のロバスト性は向上しますが,計算量が増加します。

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

最大数のインライアの検出の信頼度。”信心“と(0 100)の範囲のパーセント比数値スカラーで構成されるコンマ区切りのペアとして指定します。この値を大きくすると結果のロバスト性は向上しますが,計算量が増加します。

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

ある点からそれに対応する点の投影までの最大距離(ピクセル単位)。MaxDistance“と正の数値スカラーで構成されるコンマ区切りのペアとして指定します。対応する投影は,推定された変換に基づきます。

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

出力引数

すべて折りたたむ

幾何学的変換。affine2dオブジェクトまたはprojective2dオブジェクトとして返されます。

返された幾何学的変換行列は,matchedPoints1のインライアをmatchedPoints2のインライアにマッピングします。transformType入力を“相似”または仿射的に設定すると,関数はaffine2dオブジェクトを返します。それ以外の場合はprojective2dオブジェクトを返します。

ステータスコード。値01または2として返されます。

状态 説明
0 エラーなし。
1 matchedPoints1入力とmatchedPoints2入力に十分な数の点が含まれていません。
2 十分な数のインライアが見つかりませんでした。

状态コードの出力を要求しない場合,関数は結果を生成できない2つの状態に対してエラーをスローします。

データ型:

イメージ1のインライア点。マッチする入力点と同じタイプとして返されます。

イメージ2のインライア点。マッチする入力点と同じタイプとして返されます。

参照

[1] Hartley, R., and A. Zisserman,“计算机视觉中的多视图几何”,剑桥大学出版社,2003。

[2] Torr, P. H. S., and A. Zisserman,“MLESAC:一种用于估计图像几何的新的鲁棒估计器”,计算机视觉与图像理解,2000。

拡張機能

R2013aで導入