图像特征检测与提取技术详解
1. SIFT特征描述与提取
1.1 SIFT特征描述符的计算
在计算SIFT特征时,当完成尺度和方向的计算后,就可以计算局部图像描述符。局部图像描述符由局部图像梯度构成,不过是在将局部区域相对于描述符方向旋转到固定方向之后进行的。接着,将其划分为多个区域(通常在关键点周围以4×4模式划分成16个区域或更多),针对每个区域,根据该区域内所有点创建一个角度直方图,通常这个直方图有8个条目。把每个区域的8个条目与16个区域相结合,就得到一个128维的向量,这个128维向量就是SIFT关键点描述符。大量的组件对于SIFT关键点的高度描述性至关重要。
1.2 OpenCV中SIFT的实现
在OpenCV中,SIFT实现了 cv::Feature2D 接口的特征检测和描述符提取部分。推荐使用 detectAndCompute() 方法,它将关键点检测和特征提取合并为一步。需要注意的是,由于SIFT算法受专利保护,从OpenCV 3.0开始,它被放在 opencv_contrib 仓库的 xfeatures2d 模块中。以下是 cv::xfeatures2d::SIFT 对象的类定义(略有缩写):
class SIFT : public Feature2D {
public:
static Ptr<SIFT> create (
int nfeatures = 0,
超级会员免费看
订阅专栏 解锁全文
1383

被折叠的 条评论
为什么被折叠?



