cpstruct2pairs
構造体 cpstruct
からの有効なコントロール ポイントのペアの抽出
説明
[
は、構造体 movingPoints
,fixedPoints
] = cpstruct2pairs(cpstruct_in
)cpstruct_in
から有効なコントロール ポイントのペアを抽出し、2 つの配列 movingPoints
と fixedPoints
を返します。
例
一連のコントロール ポイントのペアに cpstruct を変換
航空写真と正射イメージをワークスペースに読み取ります。
aerial = imread('westconcordaerial.png'); ortho = imread('westconcordorthophoto.png');
これらのイメージについてあらかじめ選択した複数のコントロール ポイントを読み込みます。
load westconcordpoints
whos
Name Size Bytes Class Attributes aerial 394x369x3 436158 uint8 fixedPoints 4x2 64 double movingPoints 4x2 64 double ortho 366x364 133224 uint8
事前定義されたコントロール ポイントと共に 2 つのイメージを指定して、コントロール ポイント選択ツールを開きます。
cpselect(aerial,ortho,movingPoints,fixedPoints);
cpstruct
構造体を作成します。コントロール ポイント選択ツールで、ファイルメニューの [ワークスペースにポイントをエクスポート] を選択し、点をワークスペースに保存します。[ワークスペースにポイントをエクスポート] ダイアログ ボックスで [すべてのポイントを持つ構造体] チェック ボックスをオンにし、[有効な組の移動点] チェック ボックスと [有効な組の固定点] チェック ボックスをオフにします。[OK] をクリックします。コントロール ポイント選択ツールを閉じます。
cpstruct2pairs
を使用して移動点と固定点を cpstruct
から抽出します。
[mPoints,fPoints] = cpstruct2pairs(cpstruct);
格納された一連の点と抽出した一連の点を比較します。
fixedPoints, fpoints
fixedPoints = 164.5639 113.2890 353.5325 130.0798 143.4046 284.8935 353.5325 311.9810 fpoints = 164.5639 113.2890 353.5325 130.0798 143.4046 284.8935 353.5325 311.9810
2 組の点は同一です。つまり、格納された一連の点に含まれるすべての点が有効なコントロール ポイントの各組に属することを示します。
入力引数
cpstruct_in
— あらかじめ選択したコントロール ポイント
構造体
あらかじめ選択したコントロール ポイント。構造体 (cpstruct
) として指定します。cpstruct_in
には、移動イメージと固定イメージのすべてのコントロール ポイント (組になっていないコントロール ポイントや予測したコントロール ポイントを含む) の x 座標と y 座標に関する情報が含まれています。cpstruct2pairs
は、不一致のコントロール ポイントや予測したコントロール ポイントを除去し、有効なコントロール ポイントのペアを返します。
[ワークスペースにポイントをエクスポート] オプションを選択した場合、cpstruct_in
はコントロール ポイント選択ツール (cpselect
) で生成される構造体です。詳細については、コントロール ポイントのワークスペースへのエクスポートを参照してください。
データ型: struct
出力引数
movingPoints
— 位置合わせする移動イメージからのコントロール ポイントのペア
m 行 2 列の数値配列
位置合わせする移動イメージからのコントロール ポイントのペア。m 行 2 列の数値配列として返されます。2 つの列は、それぞれイメージの固有座標系におけるコントロール ポイントの x 座標と y 座標を表します。
データ型: double
fixedPoints
— 参照イメージからのコントロール ポイントのペア
m 行 2 列の数値配列
参照イメージからのコントロール ポイントのペア。m 行 2 列の数値配列として返されます。2 つの列は、それぞれイメージの固有座標系におけるコントロール ポイントの x 座標と y 座標を表します。
データ型: double
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入R2021b: スレッドベース環境のサポート
cpstruct2pairs
は、スレッドベースの環境をサポートするようになりました。
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)