24小时热门版块排行榜    

查看: 1098  |  回复: 3

AK747A77

新虫 (初入文坛)

[求助] 关于SIFT算法特征点的提取已有1人参与

最近刚接触SIFT算法,我想在参考图片和待配准图片上得到特征点分布的提取结果图片。我用的是一个纯MATLAB的sift算法的程序。下面是调用的主程序部分,望大神帮忙看一下,如何改正。
clear all;close all;clc
%读入处理图像
ors1 = imread('093.jpg');
ors2 = imread('094.jpg');
[H L M] = size(ors1);%原始图像的维数
if M == 3
    %转为灰度图像
    im1 = rgb2gray(im2double(ors1));
    im2 = rgb2gray(im2double(ors2));
else
    im1 =  im2double(ors1) ;
    im2 =  im2double(ors2) ;   
end
%%
%%进行参数设置
intervals = 3;%每组的层数
scl = 1.5;
dist_ratio = 0.8;
octaves1 = floor(log(min(size(im1)))/log(2)- 2);
octaves2 = floor(log(min(size(im2)))/log(2)- 2);
object_mask1  = ones(size(im1));
object_mask2  = ones(size(im2));
contrast_threshold = 0.02;
curvature_threshold = 10;
interactive = 2;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%特征检测
[pos1 scale1 orient1 desc1 ] = features_detection( im1, octaves1, intervals, object_mask1, contrast_threshold, curvature_threshold, interactive);
[pos2 scale2 orient2 desc2 ] = features_detection( im2, octaves2, intervals, object_mask2, contrast_threshold, curvature_threshold, interactive);
db = add_features_db( im1, pos1, scale1, orient1, desc1 );%%%这句该怎么理解呢?
% pos - Nx2 矩阵,每一行包括尺度不变特征点的坐标(x,y)
% scale - Nx3 矩阵,每一行包括尺度不变特征点的尺度信息(第一列是尺度不变特征点所在的组,
%   第二列是其所在的层, 第三列是尺度不变特征点的sigma).
% orient - Nx1 向量,每个元素是特征点的主方向,其范围在 [-pi,pi)之间.
% desc - Nx128 矩阵,每一行包含特征点的特征向量.
%我已经得出来了特征点的[pos1 scale1 orient1 desc1 ] ,[pos2 scale2 orient2 desc2 ] ,这是正确的。现在要在图片上得到特征点提取结果 ,下面是我自己
%编写的语句,不能得到正确的特征点提取结果的显示,该如何修改呢?
figure;imshow(im1);hold on;
plot(pos1,'+r'),title('参考图片特征点提取结果')
figure;imshow(im2);hold on;
plot(pos2,'+r'),title('待配准图片特征点提取结果')
谢谢帮忙!
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

newcontact

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
AK747A77: 金币+20, ★★★★★最佳答案, 很好 2014-06-05 15:50:21
pos1是SIFT feature的位置坐标,那么显示SIFT feature就很简单
figure;imshow(im1);hold on;
plot(pos1(:1,), pos1(:,2),'+r'),title('参考图片特征点提取结果')
2楼2014-06-05 12:42:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

AK747A77

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by newcontact at 2014-06-05 12:42:38
pos1是SIFT feature的位置坐标,那么显示SIFT feature就很简单
figure;imshow(im1);hold on;
plot(pos1(:1,), pos1(:,2),'+r'),title('参考图片特征点提取结果')

谢谢你,问题已经解决了。
3楼2014-06-05 15:49:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Couse

铜虫 (小有名气)

送红花一朵
请问有features_detection()函数的源代码吗?
4楼2015-03-05 11:30:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 AK747A77 的主题更新
信息提示
请填处理意见