Matlab 提取的关键点和特征不在关注点

Matlab 提取的关键点和特征不在关注点,matlab,image-processing,computer-vision,octave,vlfeat,Matlab,Image Processing,Computer Vision,Octave,Vlfeat,我正在处理一个有蓝色和灰色斑点的图像。最终,我想识别数据集中具有此场景的所有图像。我用筛子来做这个。我试图绘制如下所示的关键点: 根据我的说法,生成的关键点不在关注点。我做错什么了吗 im1 = im2single(im1) ; im1g = rgb2gray(im1) ; [fa,da] = vl_sift(im1g) ; % fa is 4x14869, da is 128x14869 perm = randperm(size(fa,2)) ; start=-49; int=49; whil

我正在处理一个有蓝色和灰色斑点的图像。最终,我想识别数据集中具有此场景的所有图像。我用筛子来做这个。我试图绘制如下所示的关键点:

根据我的说法,生成的关键点不在关注点。我做错什么了吗

im1 = im2single(im1) ;
im1g = rgb2gray(im1) ;
[fa,da] = vl_sift(im1g) ; % fa is 4x14869, da is 128x14869
perm = randperm(size(fa,2)) ;
start=-49;
int=49;
while start<length(fa)
    figure % image(im1) % start=start+50
    sel=perm(start:start+int)
    h1=vl_plotframe(fa(:,sel)) ;
    set(h1, 'color', 'y', 'linewidth',3);
    start;
    pause;
end
im1=im2single(im1);
im1g=rgb2gray(im1);
[fa,da]=vl_-sift(im1g);%fa为4x14869,da为128x14869
perm=randperm(大小(fa,2));
开始=-49;
int=49;

而start你的代码对我不起作用。这句话是这样说的:

sel=perm(start:start+int)
下标索引必须是实正整数或逻辑数

您设置了
start=-49
,这是一个负索引。另外
start=start+50
给出了一个错误。。。对不起,我不能复制你的例子


你能更正你的代码吗?

你的代码对我不起作用。这句话是这样说的:

sel=perm(start:start+int)
下标索引必须是实正整数或逻辑数

您设置了
start=-49
,这是一个负索引。另外
start=start+50
给出了一个错误。。。对不起,我不能复制你的例子


请更正您的代码好吗?

是的,您的关键点看起来很奇怪,因为它们大多数似乎位于同质区域。我认为如果你能提供更多关于你的问题的细节(或者一个显示你如何计算筛选的片段)会更好。@Ash我在我的问题中添加了代码。请帮助我。不幸的是,我现在无法访问matlab/octave,而且我对vfleat也不是很了解。但我怀疑关键点是正确的,只是在你展示的结果中,对比度低的部分没有被抑制。因为我不确定,所以我建议您在问题中添加octave/matlab标记以增加可见性。@谢谢。我增强了图像。现在,关键点似乎在较暗的区域被检测到,但这些区域对于特征特征似乎并不有用。@Sardar Usama,同意并更正。谢谢。是的,你的关键点看起来很奇怪,因为它们大部分似乎位于同质区域。我认为如果你能提供更多关于你的问题的细节(或者一个显示你如何计算筛选的片段)会更好。@Ash我在我的问题中添加了代码。请帮助我。不幸的是,我现在无法访问matlab/octave,而且我对vfleat也不是很了解。但我怀疑关键点是正确的,只是在你展示的结果中,对比度低的部分没有被抑制。因为我不确定,所以我建议您在问题中添加octave/matlab标记以增加可见性。@谢谢。我增强了图像。现在,关键点似乎在较暗的区域被检测到,但这些区域对于特征特征似乎并不有用。@Sardar Usama,同意并更正。谢谢