特徴のマッチング
この例では,MATLAB®コードからCUDA®墨西哥人を生成し,2つのイメージ間で特徴マッチングを実行する方法を説明します。この例では,图像处理工具箱™の関数matchFeatures
(计算机视觉工具箱)を使用して,互いに回転しスケ,リングされた2のメ,ジ間で特徴記述子をマッチングします。日后健壮的特性(冲浪)アルゴリズムを使用して2つのイメージの特徴記述子を検出および抽出します。
サ,ドパ,ティの必要条件
必須
この例では,cuda mexを生成します。以下のサ,ドパ,ティ要件が適用されます。
Cuda対応nvidia®gpuおよび互換性のあるドラaapl .バ。
オプション
スタティックライブラリ,ダイナミックライブラリ,または実行可能ファイルなどの墨西哥人以外のビルドについて,この例では以下の要件も適用されます。
Nvidiaルキット。
コンパ▪▪ラおよびラ▪▪ブラリの環境変数。詳細は,サ,ドパ,ティハ,ドウェアと前提条件となる製品の設定を参照してください。
Gpu環境の検証
この例を実行するのに必要なコンパイラおよびライブラリが正しく設定されていることを検証するために,関数coder.checkGpuInstall
を使用します。
envCfg = code . gpuenvconfig (“主机”);envCfg。BasicCodegen = 1;envCfg。安静= 1;coder.checkGpuInstall (envCfg);
特徴の検出と抽出
この例では,互いに回転およびスケーリングされた2つのイメージに対して特徴マッチングを実行します。2 .。以下の関数featureDetectionAndExtractionは,冲浪(detectSURFFeatures
(计算机视觉工具箱))局所特徴検出器を使用して特徴点を検出し,extractFeatures
(计算机视觉工具箱)を使用して特徴を抽出します。
関数featureDetectionAndExtraction
は,参照refPoints
,クエリaapl . exe,クエリaapl . exeqryPoints
,参照aapl . exe,参照aapl . exerefDesc
行列,およびクエリqryDesc
行列を返します。
refPoints =参照@メ@ジ特徴座標。
qryPoints =クエリメジ特徴座標。
refDescFeat =参照escメジ特徴記述子。
qryDescFeat =クエリaapl .メ.ジ特徴記述子。
K = imread(“cameraman.tif”);refImage = imresize(K,3);量表= 0.7;J = imresize(refImage,scale);= 30.0;qryImage = imrotate(J,theta);[refPoints,refDescFeat,qryPoints,qryDescFeat] = featuredetectionanddextraction (refImage,...qryImage);
エントリポ@ @ント関数feature_matching
関数feature_matching
は2つのイメージから抽出された特徴点および特徴記述子を受け取り,それらの間でマッチする点を見つけます。
类型feature_matching
function [matchedRefPoints,matchedQryPoints] = feature_matching(refPoints,…版权所有:The MathWorks, Inc. code .gpu.kernelfun;%%特征匹配[indexPairs,matchMetric] = matchFeatures(refDesc, qryDesc);matchedRefPoints = refPoints(indexPairs(:,1),:);matchedQryPoints = qryPoints(indexPairs(:,2),:);
特徴マッチングコ,ド生成
この例はホストシステムで実行されるため,既定のパラメーターを使って墨西哥人呼び出し構成オブジェクトを作成します。生成コードに実行時エラーがある場合にMATLABが異常終了しないように,セーフビルドオプションを選択します。
cfg = code . gpuconfig;cfg. gpconfig . safebuild = 1;input = {refPoints,refDescFeat,qryPoints,qryDescFeat};codegen配置cfgarg游戏输入feature_matching
代码生成成功。
[matchedRefPoints_gpu,matchedQryPoints_gpu] = feature_matching_mex(refPoints,...refDescFeat、qryPoints qryDescFeat);
特徴マッチの表示
图;showMatchedFeatures(refImage, qryImage, matchedRefPoints_gpu, matchedQryPoints_gpu);标题(假定匹配点(包括异常值));
参考
関数
codegen
|coder.gpu.kernel
|coder.gpu.kernelfun
|gpucoder.matrixMatrixKernel
|coder.gpu.constantMemory
|gpucoder.stencilKernel
|coder.checkGpuInstall