很多要做人脸识别,要用到SIFT特征的人都问过的一个问题是,为什么配置好opencv之后,却找不到人脸识别的头文件,找不到SIFT在哪?...不幸的是,我们最想用的人脸识别和SIFT特征都在contrib里面。如果需要用的话,那就需要自己编译了。opencv在Visual Studio上的配置和编译contrib的方法可以参考我之前的博客。...今天的内容仍然是用Python语言,最近用Python用着比较顺手。 OpenCV的Python环境配置 显然,跟众多基于C++的库一样, OpenCV也是有Python接口的。...Python下配置OpenCV可以用下面两种方法: 官网下载并安装OpenCV之后,在目录\opencv\build\python\2.7\x64之下有一个cv2.pyd文件,把它拷贝到python安装目录下的...不然为什么OpenCV自带的检测器中除了人脸检测、行人检测这些意料之中就应该存在的检测器之外,还悄悄多出了猫脸检测器呢。 今天我们就来试一下这个猫脸检测到底 是什么样的?
目录 OpenCV 对 Python 版本的支持 OpenCV 主版本、Contrib 版本以及 Headless 版本的含义 关于 OpenCV NonFree 的相关信息 OpenCV 对 Python...版本的支持 从 pypi 的 opencv 清华镜像源可以看到 OpenCV 与 Python 版本的支持关系,此处做整理总结: OpenCV 版本 Python 版本 备注 3.4.0.X - 3.4.1...相关内容(server 版本,不带 Qt 相关内容) 注意:不要在同一环境中安装多个不同的软件包,按需安装某一个 opencv python 包就可以了 NonFree OpenCV 是一个开源图像处理库.../opencv_contrib/modules" \-D OPENCV_ENABLE_NONFREE=ON \ 非免费内容 其中最常用的就是 SIFT 和 SURF 特征的提取: SIFT SIFT...特征最开始是可以使用的 (3.4.10 之前),之后有很长一段时间 OpenCV 是不能直接用的(4.2.x 之前) 12 # 这个时期的用法cv2.xfeatures2D.SIFT_create ()
引言及特征点监测器 前面提到的SURF与SIFT特征检测器与描述子, 其实都是OpenCV扩展模块xfeature2d中的内容, 而在OpenCV本身包含的feature2d模块中也包含了几个非常有用的特征检测器与描述子...=11 AKAZE=12 其中,3、4本来是SIFT与SURF的,但在OpenCV3.x中,它们已经被移到扩展模块中了。...1.ORB检测器与描述子 ORB(Oriented FAST and Rotated BRIEF)是OpenCV实验室于2011年开发出来的一种新的特征提取算法, 相比较于SIFT与SURF, ORB...OpenCV4Android中创建ORB检测器与描述子的代码: FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB...OpenCV4Android中feature2d检测器与描述子的使用 基于feature2d中的检测器对象实现对象关键点检测的演示代码: FeatureDetector detector = null;
本期我们将学习如何使用OpenCV实现运动检测 运动检测是指检测物体相对于周围环境的位置是否发生了变化。接下来,让我们一起使用Python实现一个运动检测器应用程序吧!...从最基本的安装开始,我们需要安装Python3或更高版本,并使用pip安装pandas和OpenCV这两个库。这些工作做好,我们的准备工作就完成了。 第一步:导入需要的库: ?...在下面的代码中,我们将会了解到在什么时候需要使用上面涉及到的每一项。 第三步:使用网络摄像机捕获视频帧: ? 在OpenCV中有能够打开相机并捕获视频帧的内置函数。...这里有个麻烦,因为我们必须将轮廓存储在一个元组中,并且只需要使用该元组的第一个值。请参阅Python3中声明元组的语法:(name,_)。 现在,我们只需要在过滤层上找到对象的外部轮廓。...第一个图像表示基准帧的4个帧类型,第二个图像表示带有对象的帧的4种类型的帧。你能比较一下区别吗? ? Baseline First Frame ?
星标或者置顶【OpenCV学堂】 干货文章与技术教程第一时间送达 SIFT概述 SIFT特征是非常稳定的图像特征,在图像搜索、特征匹配、图像分类检测等方面应用十分广泛,但是它的缺点也是非常明显,就是计算量比较大...夸张一点的说SIFT算法涵盖了图像特征提取必备的精髓思想,从特征点的检测到描述子生成,完成了对图像的准确描述,早期的ImageNet比赛中,很多图像分类算法都是以SIFT与HOG特征为基础,所有SIFT...OpenCV中调用 OpenCV已经实现了SIFT算法,但是在OpenCV3.0之后因为专利授权问题,该算法在扩展模块xfeature2d中,需要自己编译才可以使用,OpenCV Python中从3.4.2...之后扩展模块也无法使用,需要自己单独编译python SDK才可以使用。...特征检测器 sift = cv.xfeatures2d.SIFT_create() # 特征点提取与描述子生成 kp1, des1 = sift.detectAndCompute(box,None)
关键点检测器光度和几何变化的不变性 在OPENCV库,我们可以选择很多特征检测器,特征检测器的选择取决于将要检测的关键点的类型以及图像的属性,需要考虑相应检测器在光度和几何变换方面的鲁棒性。...也就是说已经封装好的OPENCV关键点检测器函数大部分同样可以用来生成关键点描述符。...为了在OpenCV中使用SIFT,必须使用#include opencv2/xfeatures2d/nonfree.hpp>,并且需要安装OPENCV_contribute包,注意一定要在Cmake选项中开启...OPENCV中蛮力匹配的输出是一个关键点对的列表,这些关键点对按其在所选距离函数下的描述符的距离进行排序。...ORB, and BRISK中的结论: SIFT,SURF和BRISK被认为是大多数尺度不变特征检测器(基于可重复性),它们在广泛的尺度尺度变化中不受影响。
《用python和opencv检测图像中的条形码》 第六期《OpenCV测量物体的尺寸技能 get~》 第七期《还在用肉眼找不同吗?...在这篇文章中,我们将讨论如何使用Python和OpenCV执行图像拼接。鉴于一对共享一些共同区域的图像,我们的目标是“缝合”它们并创建全景图像场景。...通常,角点检测器算法使用固定大小的内核来检测图像上的感兴趣区域(角点)。很容易看出,当我们缩放图像时,这个内核可能会变得太小或太大。 为了解决这个限制,像SIFT这样的方法使用高斯差分(DoD)。...我们可以通过使用OpenCV detectAndCompute()函数一步完成。请注意,为了使用detectAndCompute(),我们需要一个关键点检测器和描述符对象的实例。....html (2)AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d' 需要回退版本到3.4.2.16,记得要先卸载之前安装好的opencv-python
学习OpenCV的过程中,小伙伴们应该知道对于一些小型项目OpenCV具有很强大的功能,其中一个就是对图片进行鸟瞰转换,鸟瞰图是对一个场景自上而下的表示,也是构建自动驾驶应用程序时经常需要执行的任务。...车载摄像头鸟瞰系统的实现 这说明将鸟瞰转换的技术应用到监视社交距离的场景中可以提高监视质量。 本期我们将介绍了如何使用深度学习模型以及计算机视觉方面的一些知识来构建强大的社交距离检测器。...由于社交距离检测器的目标不是执行实时分析,因此最终选择了fast_rcnn_inception_v2_coco ,它的mAP(验证集上检测器的性能)为28,执行速度为58ms,非常强大,下载地址为: http...值得庆幸的是OpenCV具有强大的内置函数,此函数可以将从透视图角度拍摄的图像转换为俯视图。...我已经在我的仓 库中 实现了一个脚本,该脚本使用OpenCV的setMouseCallback()函数来获取这些坐标。计算变换矩阵的函数还需要使用图像的image.shape属性计算图像尺寸。
翻译:当delay≤ 0,将无限期的等待下去;当delay>0时,就是等待delay毫秒。
图像拼接是计算机视觉中最成功的应用之一。如今,很难找到不包含此功能的手机或图像处理API。在本文中,我们将讨论如何使用Python和OpenCV进行图像拼接。...通常,角点检测器算法使用固定大小的内核来检测图像上的感兴趣区域(角)。不难看出,当我们缩放图像时,该内核可能变得太小或太大。为了解决此限制,诸如SIFT之类的方法使用高斯差分(DoD)。...通过使用OpenCV detectAndCompute()函数,我们可以一步完成它。请注意,为了使用detectAndCompute(),我们需要一个关键点检测器和描述符对象的实例。...因此,对于集合A中的每个特征,它都会返回集合B中最接近的特征。对于SIFT和SURF,OpenCV建议使用欧几里得距离。对于ORB和BRISK等其他特征提取器,建议使用汉明距离。...如我们所见,结果中包含了两个图像中的内容。另外,我们可以看到一些与照明条件和图像边界边缘效应有关的问题。
当然可以使用OpenCV在亚像素上提高算法的精度,使用函数cv2.cornerSubPix(),不过应该使用最新版的OpenCV 我电脑上是2.4.9版本,好像文档[2]中的代码没有调试通过, 下面是...2004年提出的Scale Invariant Feature Transform (SIFT) 是改进的基于尺度不变的特征检测器。...SIFT特征包括兴趣点检测器和描述子,它对于尺度,旋转和亮度都具有不变性。 有下面四个步骤 1. Scale-space Extrema Detection 2....在SURF算法中,特征点的判据为某像素亮度的Hessian矩阵的行列式(Dxx*Dyy-Dxy*Dxy)为一个极值。...就像文章题目所写一样,ORB是除了SIFT与SURF外一个很好的选择,而且它有很高的效率,最重要的一点是它是免费的,SIFT与SURF都是有专利的,你如果在商业软件中使用,需要购买许可。
解决的方法是将开源计算机视觉库OpenCV引入Appium框架,将按钮或控件的截图作为参数输入,在屏幕中通过图像特征识别获取对应控件坐标,调用AppiumAPI实现坐标点击,然后再次调用OpenCV图像识别库...OpenCV轻量级而且高效的实现了图像处理和计算机视觉方面的很多通用算法,算法实现由一系列C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLA等语言的接口。...匹配阈值 为了排除因为图像遮挡和背景混乱而产生的无匹配关系的关键点,SIFT的作者Lowe提出了比较最近邻距离与次近邻距离的SIFT匹配方式:取一幅图像中的一个SIFT关键点,并找出其与另一幅图像中欧式距离最近的前两个关键点...opencv-python特征匹配 运行环境 Mac OS 10.14.6 Python 3.7 opencv-python-4.5.1 Opencv-Python安装可以使用如下命令 pip3 install...opencv-python 关键点 OpenCV实现的特征检测接口包括detect()、compute()和detectAndCompute()函数,分别实现特征检测、特征描述,以及检测并描述一步到位
作为一个功能强大且广泛使用的库,OpenCV已经成为许多计算机视觉应用的首选工具之一。...Python安装OpenCV我们可以直接使用pip安装OpenCV,命令如下:pip install opencv-python注:该命令仅安装主模块包,安装完整包命令如下:pip install opencv-contrib-pythonOpenCV...边缘检测:常用的算法包括 Sobel、Canny 等,用于检测图像中的边缘结构。特征检测:包括角点检测、边缘检测等,用于寻找图像中的显著特征点。...物体检测:通过分类器和检测器实现物体在图像中的识别和定位,常用的方法包括 Haar 特征分类器、HOG 特征描述子等。...图像配准:通过寻找图像间的变换关系实现图像配准和拼接,常用的算法包括 SURF、SIFT 等。图像分割:将图像分成若干个区域或对象,常用的算法包括基于区域的分割、基于边缘的分割等。
·局部特征:图像中的部分区域。 | 正式定义 在计算机视觉和图像处理中,特征指的是为解决与某一应用有关的计算任务的一段信息。 ·所有的机器学习和深度学习算法都依赖于特征。 什么能作为特征?...,提取的特征不变) 亮度不变性(亮度发生改变,提取的特征不变) 视角不变性(视角变化,提取的特征不变) SIFT提取步骤 构建规模空间金字塔 使用近似LOG算子处理特征和梯度 在高斯图像的差分中找出最大和最小的关键点...生成最终的SIFT特征—为缩放和旋转不变性生成一个新的表示。 使用OpenCV实现SIFT ''' NOTE: Patented work....Cannot be used for commercial purposes1.pip installopencv-contrib-python==3.4.2.16 2.pip install opencv-python...SURFFeatures(快速鲁棒特征) 快速鲁棒特征 已获得专利的局部特征检测器和特征描述子 标准版本的SURF比SIFT要快好几倍 SURF使用的算法: Hessian斑点检测器行列式的整数近似值
OpenCV 的cv2.SIFT实现了 DoG 特征检测和 SIFT 描述,而 OpenCV 的cv2.SURF实现了快速黑森特征检测和 SURF 描述。...现在,我们对可以组合以构成对象检测器的关键组件有了概念上的理解,我们可以开始看一些示例。 我们将从 OpenCV 的现成对象检测器之一开始,然后我们将继续设计和训练我们自己的自定义对象检测器。...使用 HOG 描述符检测人 OpenCV 带有称为cv2.HOGDescriptor的类,该类能够执行人员检测。...创建和训练对象检测器 使用训练有素的检测器使构建快速原型变得容易,我们都非常感谢 OpenCV 开发人员提供了诸如人脸检测和人物检测之类的有用功能。...回想一下,在第 7 章,“构建自定义对象检测器”中,我们使用 SIFT 描述符作为 SVM 的输入。 同样,人工神经网络能够处理高级描述符,而不仅仅是普通的旧像素数据。
OpenCV从 2.4.x升级到3.x中有很多代码重构和性能提高,还有API接口的整合,以Feature2D及其扩展模块的特征检测与描述为例,在OpenCV2.4.x中可以通过FeatureDetector...::create("特征名称");方法创建一个检测器,2.4.x中支持的检测类型如下。...但是到了OpenCV3.1.0中如果你还是这么用,VS预编译就会报告说FeatureDetector::create()方法不存在,原因是OpenCV在最新的3.1.0版本中已经去掉了该方法,对所有特征提取的方法进行了重新梳理并且出现了几种新的特征检测与描述方法...BriefDescriptorExtractor: descriptor - LUCID: descriptor - LATCH: descriptor - DAISY: descriptor - MSDDetector: detector - SIFT...由此可以,在OpenCV 3.1.0中各种特征检测与描述方法明显更多,给大家选择的余地更大,其中一些方法都是近几年的新发研究论文实现。
一、将几何变换应用于图像 在本章中,我们将学习如何将冷酷的几何效果应用于图像。 在开始之前,我们需要安装 OpenCV-Python。 我们将解释如何编译和安装必要的库,以遵循本书中的每个示例。...安装 OpenCV-Python 在本节中,我们说明如何在多个平台上使用 Python 2.7 安装 OpenCV3.X。.../install/master/install)" 即使 OS X 带有内置的 Python,我们也需要使用 Homebrew 安装 Python 以使我们的生活更轻松。...打开 Python shell 并输入以下内容: > import cv2 如果没有看到任何错误,那就很好了。 故障排除 如果找不到cv2库,请标识该库的编译位置。...从技术上讲,我们不需要使用面部检测器。 但是我们知道眼睛总是在别人的脸上。 我们使用此信息并仅在感兴趣的相关区域(即脸部)中搜索眼睛。 我们首先检测人脸,然后在该子图像上运行眼睛检测器。
根据自己近十年图像处理OpenCV开发相关工作经验,花了七个月的时间,针对OpenCV4、精心选择OpenCV中常用模块与知识点,构建了一套系统化的课程,这套课程对每个课时的代码演示都是基于C++与Python...Canny边缘检测器 037. 图像金字塔 038. 拉普拉斯金字塔 039. 图像模板匹配 040. 二值图像介绍 041. OpenCV中的基本阈值操作 042. OTSU二值寻找算法 043....视频分析—基于均值迁移的对象移动分析 089. 视频分析—基于连续自适应均值迁移的对象移动分析 090. 视频分析—对象移动轨迹绘制 091. 对象检测—HAAR级联检测器使用 092....基于描述子匹配的已知对象定位 098. SIFT特征提取—关键点提取 099. SIFT特征提取—描述子生成 100. HOG特征与行人检测 101. HOG特征描述子—多尺度检测 102....为了更好的帮助初学者搭建好OpenCV开发环境,良心录制了一系列免费OpenCV环境搭建视频,详细信息见这里 B站OpenCV环境搭建视频 OpenCV4.0+python https://www.bilibili.com
OpenCV是英特尔开源出来的计算机视觉框架,有着十分强大的图像与视频分析处理算法库。...计算机视觉作为人工智能的分支学科之一、符合未来科技发展方向,OpenCV是开源的可以商业应用的最流行的计算机视觉框架,包含了3000多个算法实现,其SDK支持Java、C++、Python等编程语言,支持...3.1 OpenCV Mat中操作像素的方法 3.1.1 Mat的类型与get、put方法 3.1.2 如何正确循环操作每个像素点 3.2 图像通道与均值方差计算...) 6.4 SIFT特征检测与匹配 - (SIFT特征提取的步骤与特征描述子) 6.5 Feature2D中检测器与描述子 - BRISK -...探讨横屏与竖屏显示问题) 7.3 处理相机预览帧图像 (实现对预览帧的处理,同时知道过多的JNI方式调用OpenCV API会导致性能问题) 7.4 在预览帧中实现人脸检测(实现一个实时的人脸检测例子
OpenCV可以检测图像的主要特征,然后提取图像的特征,使其成为图像描述符。 这些图像特征,也就是图像描述符,可以作为图像搜索的数据库。 个人感觉就是,和「以图搜图」有点像。 ?...也是一个很搞笑的片段... / 01 / 特征检测算法 这里简单介绍一下OpenCV常用的几种特征检测和提取算法。 Harris、FAST:用于检测角点的。...提了好几次特征了,那么什么是图像的特征呢? 图像特征就是指有意义的图像区域,具有独特性或易于识别性,比如角点、斑点以及高密度区。 角点可以通过OpenCV的cornerHarris来识别。...「SIFT」则是一种与图像比例无关的角点检测方法,尺度不变特征变换。 采用DoG和SIFT来检测关键点并提取关键点周围的特征。...对象(特征检测器),并计算灰度图像(描述符) sift = cv2.xfeatures2d.SIFT_create() kp1, des1 = sift.detectAndCompute(queryImage
领取专属 10元无门槛券
手把手带您无忧上云