opencv3/c++如何实现冲浪特征检测

  介绍

这篇文章主要介绍了opencv3/c++如何实现冲浪特征检测,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

冲浪即加快健壮的功能加速鲁棒特征;

冲浪可以用于对象定位和识别,人脸识别,3 d重建,对象跟踪和提取兴趣点等。

<强>工作原理:

1,选择图像中POI(兴趣点)海赛矩阵;

2,在不同的尺度空间发现关键点,非最大信号压制;

3,发现特征点方法,旋转不变性要求,

4,生成特征向量;

 opencv3/c++如何实现冲浪特征检测

类冲浪中成员函数创建()参数说明:

static  Ptr,创建(   double  hessianThreshold=100//冲浪中使用的黑森关键点检测器的阈值   int  nOctaves =,,,//关键点检测器将使用的金字塔组数量   int  nOctaveLayers =, 3//高斯金字塔每个组内图像的层数   bool  extended =,假的,,//扩展描述符标志(真正的使用扩展的128个元素的描述符,错误的使用64个元素的描述符)   bool  upright =,假//旋转的特征标志(真不计算方向,假计算方向)   );

函数检测()用来检测图像或图像集中的关键点。

基类Feature2D中成员函数检测()参数说明:

void 检测(,   InputArray 形象,//图像   CV_OUT  std:: vector,,要点、//检测到的关键点,(在图像集中关键点(我)是在图像[我]中检测到的一组关键点)   InputArray 面具=noArray(),//指定在哪里寻找关键点的掩码(必须是在感兴趣区域中具有非零值的8位整数矩阵)   );

<>强函数drawKeypoints()的参数说明:

void  drawKeypoints (,   InputArray 形象,,//源图像   const  std:: vector,,要点、,//来自源图像的关键点   InputOutputArray  outImage//输出图像   const  Scalar&,颜色=标量::(1),,//关键点的颜色   int 旗帜=DrawMatchesFlags: DEFAULT //设置绘图功能的标志   );

函数drawKeypoints()用来绘制关键点。

<强>冲浪特征检测示例:

# include   # include   using  namespace 简历;   using  namespace 简历:xfeatures2d;      Mat  src;   int  minHessian =, 50;   void  trackBar (int, void *);   int  main ()   {=,,src  imread (“E:/图片/图片/bdb.jpg");   ,if  (src.empty ())   ,{   ,,printf(“还要not  load  image  \ n");   return 才能;1;   ,}   ,namedWindow (“input", WINDOW_AUTOSIZE);   ,imshow (“input", src);      ,namedWindow (“output", WINDOW_AUTOSIZE);   ,createTrackbar (“minHessian",“output",, minHessian,, 500,, trackBar);      ,waitKey (0);   ,return  0;   }         void  trackBar (int, void *)   {   ,Mat  dst;   ,//冲浪特征检测   ,Ptr detector =,冲浪:创建(minHessian);   ,std:: vector

 opencv3/c++如何实现冲浪特征检测

 opencv3/c++如何实现冲浪特征检测

感谢你能够认真阅读完这篇文章,希望小编分享的“opencv3/c++如何实现冲浪特征检测”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

opencv3/c++如何实现冲浪特征检测