weixin_43802433 2018-12-04 13:25
浏览 1359

matlab运行SIFT算法总是出现未定义函数变量?

未定义函数或变量 "pt11"。

出错 features_matching (line 14)
[B1,IX] = sort(pt11(:,1));

出错 tuxiangpingjie (line 34)
[pt1,pt2]= features_matching( db, desc2, dist_ratio , pos1 , pos2);

features_matching 程序
function [pt1,pt2] = features_matching( database, desc, dist_ratio , pos1 , pos2 )
num = 1;
for k = 1:size(desc,1)
dist = sqrt(sum((database.desc - repmat(desc(k,:),size(database.desc,1),1)).^2,2));
[B,IX] = sort(dist);
if B(1)/B(2) >= dist_ratio %nn2_dist >= dist_ratio
idx = 0;
else
pt22(num,:) = pos2(k,:);
pt11(num,:) = pos1(IX(1),:);
num = num + 1;
end
end
[B1,IX] = sort(pt11(:,1));
Pt1 = pt11(IX,:);
Pt2 = pt22(IX,:);

k = 1;
for i = 2:num-1
Dist = sqrt((Pt1(i,1) - Pt1(i-1,1))^2 +(Pt1(i,2) - Pt1(i-1,2))^2);
if Dist > 3
pt1(k,:) = Pt1(i,:);
pt2(k,:) = Pt2(i,:);
k = k + 1;
end
end

[B1,IX] = sort(pt2(:,1));
Pt1 = pt1(IX,:);
Pt2 = pt2(IX,:);

kk = 1;
pt1 = [];
pt2 = [];
for i = 2:k-1
Dist = sqrt((Pt2(i,1) - Pt2(i-1,1))^2 +(Pt2(i,2) - Pt2(i-1,2))^2);
if Dist > 3
pt1(kk,:) = Pt1(i,:);
pt2(kk,:) = Pt2(i,:);
kk = kk + 1;
end
end

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 C++使用Gunplot
    • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
    • ¥15 matlab数字图像处理频率域滤波
    • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
    • ¥15 ELGamal和paillier计算效率谁快?
    • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
    • ¥15 Arcgis相交分析无法绘制一个或多个图形
    • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
    • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
    • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)