首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏架构之巅

    opencv3.0 无法使用FeatureDetector.SURF

    opencv的features2d包中提供了surf,sift和orb等特征点算法,根据测试结果发现在opencv3.0的java版本中存在一些bug,导致surf算法无法使用,会抛出如下异常: OpenCV org.opencv.features2d.FeatureDetector.create(FeatureDetector.java:88) 外网也有人发现此问题:https://stackoverflow.com/questions/30657774/surf-and-sift-algorithms-doesnt-work-in-opencv java 补充: OpenCV 中和 2D 特征检测相关的算法的头文件位于opencv\modules\features2d\include\opencv2\features2d.hpp,除SIFT、SURF opencv\modules\nonfree\include\opencv2\nonfree\features2d.hpp,只包含SIFT、SURF这两个受专利保护的特征,因此不是免费的(nonfree

    1.2K31发布于 2020-11-09
  • 来自专栏大师级码师

    OpenCV图像匹配算法之surf

    > matches_surf, inliers_surf; surf_detector.detect(img1,kpts1_surf); surf_detector.detect (img1,kpts1_surf,desc1_surf); surf_descriptor.compute(img2,kpts2_surf,desc2_surf); matcher_l2 ->knnMatch(desc1_surf,desc2_surf,dmatches_surf,2); matches2points_nndr(kpts1_surf,kpts2_surf,dmatches_surf if(show == true) { draw_inliers(img1_rgb_surf,img2_rgb_surf,img_com_surf,inliers_surf 使用 INFO surf_info; surf(path1,path2,surf_info,false); showInfo(surf_info);

    80710发布于 2021-09-19
  • 来自专栏流川疯编写程序的艺术

    OpenCV特征点检测------Surf(特征点篇)

    Surf(Speed Up Robust Feature) Surf算法的原理                                                                           Sift采用的是DOG图像,而surf采用的是Hessian矩阵行列式近似值图像。Hessian矩阵是Surf算法的核心,为了方便运算,假设函数f(z,y),Hessian矩阵H是由函数,偏导数组成。 而在surf中,不统计其梯度直方图,而是统计特征点领域内的harr小波特征。 特征 surf特征是类似于SIFT特征的一种尺度不变的特征点,它的优点在于比SIFT效率要高,在实际运算中可以达到实时性的要求,关于SURF的原理这里就不过多的介绍,网络上这类的文章很多。 类似于FAST特征点的求法,SURF也可以使用通用接口求得,而SURF特征的类为SurfFeatureDetector,类似的SIFT特征点的检测类为SiftFeatureDetector。

    2.7K40编辑于 2022-05-06
  • 来自专栏智能算法

    基于SURF算法相似图像相对位置的寻找

    例如以下两个相似证件的模板,若以其中一幅图像为模板,并给出相应的位置,可以给出其他相似图像进行定位相对应的位置,如下图所示,其中除了标题和样式一样,内容确是不同的,这个时候就可以利用SURF进行特征点匹配 先说说SURF算法: 一、积分图像 积分图像的概念是由Viola和Jones提出的。 3、hession矩阵行列式的简化 当我们用sigma = 1.2.的高斯二阶微分滤波,模板尺寸为9X9最小的尺度空间值对图像进行滤波和斑点检测,最终简化式如下,这是SURF论文里面Hession响应值计算公式 ,SURF的金字塔属于第二种: ? SURF中采用9X9尺寸的滤波器作为起始滤波器,之后的滤波器尺寸可由以下公式计算得出: ?

    2.1K70发布于 2018-04-03
  • opencvsharp sift和surf特征点匹配

    SIFT特征和SURF特征比较 SIFT特征基本介绍 SIFT(Scale-Invariant Feature Transform)特征检测关键特征: 建立尺度空间,寻找极值 关键点定位(寻找关键点准确位置与删除弱边缘 Bin,大于max*80%的都保留 这样就实现了旋转不变性,提高了匹配时候的稳定性 大约有15%的关键点会有多个方向 关键点描述子 拟合多项式插值寻找最大Peak 得到描述子 = 4*4*8=128 SURF

    18700编辑于 2025-07-20
  • 来自专栏月色的自留地

    图像识别基本算法之SURF

    算法 SURF是speed up robust feature的缩写,可以视为加速版的Sift算法。 SURF的特点: 使用积分图像完成图像卷积(相关)操作; 使用Hessian矩阵检测特征值; 使用基于分布的描述符(局部信息)。 SURF算法的一般步骤为: 构建Hessian矩阵; 构建尺度空间; 精确定位特征点; 主方向确定; 跟TensorFlow中碰到的情况一样,目前这些常用的算法,在大多的机器学习框架中都已经封装完成了 下面是网上转来的使用OPENCV进行SURF特征点检测示例源码: #include "highgui/highgui.hpp" #include "opencv2/nonfree/nonfree.hpp 算法原理 Opencv Surf算子特征提取与最优匹配 特征点检测学习_2(surf算法)

    3K80发布于 2018-06-15
  • 来自专栏小鹏的专栏

    使用openCV提取sift;surf;hog特征

    cv2.SIFT() cv2.SURF() cv2.HOGDescriptor() 使用cv2.SIFT的一个样例:(cv2.SURF使用与之类似) #coding=utf-8 import cv2

    74610编辑于 2022-05-09
  • 来自专栏微卡智享

    C++ OpenCV特征提取之SURF特征检测

    SURF特征基本介绍 SURF(Speeded Up Robust Features)特征关键特性: 特征检测 尺度空间 选择不变性 特征向量 SURF算法工作原理 选择图像中的POI(Points of interest) Hessian Matrix 在不同的尺度空间发现关键点,非最大信号压制 发现特征点方法、旋转不变性要求 生成特征向量 SURF构造函数介绍 C++: SURF::SURF extended=false, bool upright=false --表示计算选择不变性,不计算的速度更快 ) 代码演示 我们再新建一个项目名为opencv--surf 开始进行SURF检测 因为我们要用到cv::xfeatures2d::SURF这个类,所以首先要在头文里要引用xfeatures2d.hpp的头文件 ? ? ---- 我们还可以再试试SURF的构造函数里面加上不同的参数的改变看看效果 ? 上面可以看到在SURF::create里面,把几个默认的参数都进行的赋值和修改,运行的效果为 ?

    2.7K20发布于 2019-07-24
  • 来自专栏CSDN博客专家-小蓝枣的博客

    OpenCV 入门教程:SIFT和SURF特征描述

    OpenCV 入门教程: SIFT 和 SURF 特征描述 导语 SIFT (尺度不变特征变换)和 SURF (加速稳健特征)是图像处理中常用的特征描述算法,用于提取图像中的关键点和生成对应的特征描述子 二、SURF特征描述原理 SURF 算法是基于 SIFT 算法的改进版本,主要目的是加速计算速度和提高算法的稳健性。 SURF 特征描述利用图像的局部特征和梯度直方图来描述关键点。 与 SIFT 相比, SURF 使用了积分图像来加速特征计算,并采用了一种更快的描述子生成方法。 SURF 特征描述具有尺度不变性、旋转不变性和光照不变性,并且计算速度更快。 = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 创建SURF对象 surf = cv2.xfeatures2d.SURF_create() # 检测关键点和计算描述子 祝你在使用 OpenCV 进行 SIFT 和 SURF 特征描述的过程中取得成功!

    2K20编辑于 2023-07-11
  • 来自专栏PingCAP的专栏

    SuRF: 一个优化的 Fast Succinct Tries

    作者:唐刘 在前一篇文章中,我简单介绍了 Succinct Data Structure,这里我们继续介绍 SuRF。 在上图中, SuRF 使用了 ‘$’ 这个符号(实际对应的值是 0xFF)来表示这样的情况。 最后一个字节序列就是 D-Values,存储的是固定大小的 value。 Optimization 对于 SuRF 来说,为了提高查询的速度,一个重要的优化手段就是提高 rank 和 select 执行的效率,在 SuRF 里面,引入了 LookUp Table(LUT)。 当然,SuRF 还有其它很多优化手段,譬如使用 SIMD 来提速 label 的查找,使用 prefetchj 技术等,这里就不说明了。 SuRF 数据,所以我们就需要对 SuRF 进行裁剪,不存储所有的信息,也就是说,我们需要在查询的 False Positive Rate(FPR)和空间上面做一个权衡。

    1.5K50发布于 2018-06-25
  • 来自专栏机器学习、深度学习

    ubuntu16.0.4 opencv4.0.0 GPU 版本的 SURF

    opencv4.0.0 自带的 samples GPU surf_keypoint_matcher.cpp surf_keypoint_matcher.cpp #include <iostream surf(img2, GpuMat(), keypoints2GPU, descriptors2GPU); cout << "FOUND " << keypoints1GPU.cols << (keypoints1GPU, keypoints1); surf.downloadKeypoints(keypoints2GPU, keypoints2); surf.downloadDescriptors surf_keypoint_matcher.cpp ) target_link_libraries( SURF_test ${OpenCV_LIBS} ) cmake . /SURF_test --left box.png --right box_in_scene.png

    1.5K30发布于 2019-05-27
  • 来自专栏李蔚蓬的专栏

    计算机视觉 OpenCV Android | SURF特征检测(ing)

    1.SURF特征检测 SURF(Speeded Up Robust Feature)特征就是图像最常见的特征之一, 该方法在2006年由几位作者联合提出, 主要是用来克服SIFT(一种特征检测方法) 计算量比较大, 运行速度比较慢的缺点; SURF具有以下的优点: 基于积分图计算,快速关键点提取; 不同关键点描述; 快速描述子匹配; 同时具有旋转、尺度、光照不变性; SURF通过建立不同尺度的级联算子来实现高斯图像的尺度不变性特征 , 计算LOG得到每个像素点的Hessian矩阵, 在建立级联算子实现Hessian矩阵的计算中, SURF使用了积分图来实现预计算, 通过积分图查找表实现Hessiam矩阵快速计算。 2.SURF特征描述子 特征描述子是用来描述每个关键点特征的唯一数据,它必须能够显著区分各个特征关键点的不同之处,SURF特征描述子是基于Haar小波响应理论的,可以通过积分图进行快速计算,描述子首先要选取关键点周围的像素块 这种方式没有考虑选择不变性,没有对每个描述子指派方向角度,称为U-SURF描述子,对上述描述子在0°~360°方向上使用滑动窗口60°大小计算滑动窗口的梯度和最大值,指派为该描述子的方向,0°~360°

    97140发布于 2019-03-04
  • 来自专栏智能算法

    基于SURF算法相似图像相对位置的寻找

    例如以下两个相似证件的模板,若以其中一幅图像为模板,并给出相应的位置,可以给出其他相似图像进行定位相对应的位置,如下图所示,其中除了标题和样式一样,内容确是不同的,这个时候就可以利用SURF进行特征点匹配 先说说SURF算法: 一、积分图像 积分图像的概念是由Viola和Jones提出的。 ,SURF的金字塔属于第二种: ? SURF中采用9X9尺寸的滤波器作为起始滤波器,之后的滤波器尺寸可由以下公式计算得出: ? 基于SURF算法相似图像相对位置的寻找 免责声明:本文系网络转载。版权归原作者所有。如涉及版权,请联系删除!

    2.4K70发布于 2018-04-02
  • 来自专栏嵌入式学习

    Matlab-Octave中绘制网格图和等高线:mesh 和 surf

    .^2); % 计算函数值,zz也是21x21的矩阵 surf(xx, yy, zz); % 画出立体曲面图 colorbar; Matlab中绘制等高线:contour >> contour(

    1.7K20发布于 2020-09-07
  • 来自专栏3D视觉从入门到精通

    详解计算机视觉中的特征点检测:Harris SIFT SURF ORB

    SURF算法 SURF特征(Speeded Up Robust Features,加速鲁棒性特征)是对SIFT特征的进一步优化,基于Hessian矩阵构造金字塔尺度空间,利用箱式滤波器(box filter 相比于sift算法的高斯金字塔构造过程,surf算法速度有所提高。 SIFT特征与SURF特征的比较: [构建图像金字塔] SIFT特征利用不同尺寸的图像与高斯差分滤波器卷积;SURF特征利用原图片与不同尺寸的方框滤波器卷积。 ;SURF特征先利用Hessian矩阵确定候选点,然后进行非极大抑制 [特征点主方向] SIFT特征在正方形区域内统计梯度幅值的直方图,直方图最大值对应主方向,可以有多个主方向;SURF特征在圆形区域内计算各个扇形范围内 BRIEF的耗时非常短,在相同情形下计算512个特征点的描述子时,SURF耗时335ms,BRIEF仅8.18ms;匹配SURF描述子需28.3ms,BRIEF仅需2.19ms。

    5.9K30发布于 2020-11-19
  • 来自专栏FreeBuf

    Surf:一款针对现代云环境的SSRF漏洞检测和利用工具

    接下来,广大研究人员就可以直接使用下列命令将该项目源码克隆至本地了: git clone https://github.com/assetnote/surf.git 或者也可以使用go命令直接安装Surf : go install github.com/assetnote/surf/cmd/surf@latest 工具使用 假设,一个名为bigcorp.txt的文件中已经包含了bigcorp.com 搜索所有可能包含SSRF漏洞的目标域名,并设置超时时间和并发线程数 surf -l bigcorp.txt -t 10 -c 200 # 搜索所有可能包含SSRF漏洞的目标域名,并打印所有主机信息 surf -l bigcorp.txt -d # 搜索指向一个内部/私有IP地址的全部主机信息 surf -l bigcorp.txt -x 工具可使用的参数选项信息如下: ❯ surf -h █ 项目地址 Surf:https://github.com/assetnote/surf

    76130编辑于 2023-11-20
  • 来自专栏Python基础、进阶与实战

    Pygame入门3——分数、增加敌人、动画

    = test_font.render(f"Score:{current}", False, (64,64,64)) screen.blit(score_surf,score_surf.get_rect (): global player_surf, player_index if player_rect.bottom <300: # jump player_surf = test_font.render(f"Score:{current}", False, (64, 64, 64)) screen.blit(score_surf, score_surf.get_rect = game_name_surf.get_rect(center=(400, 80)) game_message_surf = test_font.render("Press space to run" = player_walk[player_index] player_rect = player_surf.get_rect(midbottom=(80, 300)) player_stand_surf

    1.3K20编辑于 2022-12-06
  • 来自专栏NLP/KG

    【5】OpenCV2.4.9实现图像拼接与融合方法【SURF、SIFT、ORB、FAST、Harris角点 、stitch 】

    为了提高拼接的速度和质量,本文在特征提取时采用了改进的特征提取的算法,基于可靠性检测的SURF 算法,特征点粗匹配时采用快速匹配法。 SURF(Speeded Up Robust Feature) SURF算法是对图像进行不同尺寸空间的高斯卷积,然后进行特征点的提取,但是SURF对图像步骤进行了近似替换和简化,降低了计算量。 5×5个采样点的总的响应,推导出下面的矢量 可得4×4×4=64维的SURF 特征的描述符,完成预处理后,再进行特征匹配。 ORB算法比SIFT算法快100倍,比SURF算法快10倍。在计算机视觉领域有种说法,ORB算法的综合性能在各种测评里较其他特征提取算法是最好的。 参考博客:OpenCV探索之路(二十四)图像拼接和图像融合技术 OpenCV探索之路(二十三):特征检测和特征匹配方法汇总【SURF、SIFT、ORB、FAST、Harris角点】

    4.6K30编辑于 2022-12-21
  • 来自专栏Python基础、进阶与实战

    Pygame基础11-mask 蒙版

    ((0,0,0)) # 4. filling in the surface with a color surf_w,surf_h = new_obstacle_surf.get_size() for x in range(surf_w): for y in range(surf_h): if new_obstacle_surf.get_at((x,y))[0] ! () ship_rect = ship_surf.get_rect(center = (300,300)) ship_mask = pygame.mask.from_surface(ship_surf) = new_mask.to_surface() new_surf.set_colorkey((0,0,0)) surf_w, surf_h = new_surf.get_size () for x in range(surf_w): for y in range(surf_h): if new_surf.get_at

    69410编辑于 2024-04-11
  • 来自专栏caoqi95的记录日志

    matplotlib 绘制轮廓图和 3D 图

    = fig.gca(projection='3d') ax_surf.set_position([0.1,0.15,0.7,0.7]) X, Y = np.meshgrid(np.arange(0, 21), np.arange(0, 21)) surf = ax_surf.plot_surface(X, Y, V, cmap=cm.coolwarm, linewidth=0, antialiased=False) ax_surf.set_xticks(np.arange(0,21,4).astype(int)) ax_surf.set_yticks( np.arange(0,21,4).astype(int)) ax_surf.set_xlabel('Number of cars at location 2') ax_surf.set_ylabel( ([0.85,0.25,0.03,0.5]) cbar = fig.colorbar(surf, cax=ax_color, orientation='

    1.4K50发布于 2019-06-11
领券