http://blog.sina.com.cn/s/blog_a6b913e30101dvrt.html 一.前提 安装Opencv,因该版本的SIFT是基于Opencv的. 下载SIFT源码,见Rob Hess的主页(别告诉我不懂英文不知道下载链接在哪,下那个Windows VC++的版本 sift-latest_win.zip). 其中有3个是解决方案文件夹:siftFeat.match和dspFeat,siftFeat工程是做SITF特征提取的,一般只会用到这个案例,match是利用SIF…
OpenCV下载: 百度云下载:https://pan.baidu.com/s/1mhAExdu (2.4.9版本) 下载完成后,双击运行exe,选择输出目录,我选择的是C:\OpenCV 配置环境变量(path变量):选择x86平台,对应VS选择Win32配置 C:\opencv\opencv\build\x86\vc10\bin; 在VS2010中加入OpenCV: 在VS2010中点击“工具”,再点击“选项”,然后选择“项目和解决方案”,手动加入库文件和包含文件即可完成OpenCV在VS2…
1.下载安装OpenCV 下载OpenCV-2.4.6.0 (文件大小 291M),下载地址如下,下载完成后解压缩到路径%OpenCV%下,本文%OpenCV%=E:\图像处理与计算机视觉. http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.6/OpenCV-2.4.6.0.exe/download 安装到D盘根目录, 则使用如下目录: D:\opencv\build\include; //头文件 D:\open…
http://blog.csdn.net/xiaowei_cqu/article/details/8069548 SIFT简介 Scale Invariant Feature Transform,尺度不变特征变换匹配算法,是由David G. Lowe在1999年(<Object Recognition from Local Scale-Invariant Features>)提出的高效区域检测算法,在2004年(<Distinctive Image Features from Scal…
作者 : 卿笃军 因为近期人脸识别须要用到OpenCV,让我開始了OpenCV学习. OpenCV 2.4.9下载地址:http://sourceforge.net/projects/opencvlibrary/ 点击图中的Download就可以下载. 完成下载后,得到一个348M的 "opencv-2.4.9.exe" 文件,双击执行,它会询问你解压到哪里,你能够直接解压在 E:盘.(我就直接解压在E:盘根文件夹下). 这里就会在E:盘根文件夹下得到一个 opencv 文件夹. 以下…
备注:SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向.SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点.边缘点.暗区的亮点及亮区的暗点等. 参考地址:https://docs.opencv.org/3.4/d2/d29/classcv_1_1KeyPoint.html 测试代码: import cv2 import numpy as np img = cv2.imread('4.jpg',cv2.IMREAD_COLOR…
SIFT特征和SURF特征比较 比较项目 SIFT SURF 尺度空间极值检测 使用高斯滤波器,根据不同尺度的高斯差(DOG)图像寻找局部极值 使用方形滤波器,利用海森矩阵的行列式值检测极值,并利用积分图加速运算 关键点定位 通过邻近信息插补来定位 与SIFT类似 方向定位 通过计算关键点局部邻域的方向直方图,寻找直方图中最大值的方向作为关键点的主方向 通过计算特征点周围像素点x,y方向的哈尔小波变换,将x.y方向小波变换的和向量的最大值作为特征点方向 特征描述子 是关键点邻域高斯图像梯度方向直…
SIFT算法的过程实质是在不同尺度空间上查找特征点(关键点),用128维方向向量的方式对特征点进行描述,最后通过对比描述向量实现目标匹配. 概括起来主要有三大步骤: 1.提取关键点: 2.对关键点附加详细的信息(局部特征)也就是所谓的描述器: 3.通过两方特征点(附带上特征向量的关键点)的两两比较找出相互匹配的若干对特征点,建立物体间的对应关系. Opencv中Sift算子的特征提取是在SiftFeatureDetector类中的detect方法实现的. 特征点描述是在SiftDescripto…
Sift和Surf算法实现两幅图像拼接的过程是一样的,主要分为4大部分: 1. 特征点提取和描述 2. 特征点配对,找到两幅图像中匹配点的位置 3. 通过配对点,生成变换矩阵,并对图像1应用变换矩阵生成对图像2的映射图像 4. 图像2拼接到映射图像上,完成拼接 过程1.2.3没啥好说的了,关键看看步骤4中的拼接部分.这里先采用比较简单一点的拼接方式来实现: 1. 找到图像1和图像2中最强的匹配点所在的位置 2. 通过映射矩阵变换,得到图像1的最强匹配点经过映射后投影到新图像上的位置坐标 3. 在…
SIFT特征检测介绍 SIFT(Scale-Invariant Feature Transform)特征检测关键特性: -建立尺度空间,寻找极值 -关键点定位(寻找关键点准确位置与删除弱边缘) -关键点方向指定 -关键点描述子 关键点定位 我们在像素级别获得了极值点的位置,但是更准确的 值应该在亚像素位置,如何得到 – 这个过程称为关键 点(准确/精准)定位 删除弱边缘- 通过Hassian 矩阵特征值实现,小于阈值 自动舍 建立尺度空间,寻找极值.工作原理 . 构建图像高斯金字塔,求取DOG,…
运行环境:vs2012+opencv320 sift 需要的头文件为 <opencv2/xfeatures2d.hpp> #include <opencv2/opencv.hpp> #include <opencv2/xfeatures2d.hpp> using namespace cv; using namespace std; bool refineMatchesWithHomography( const std::vector<cv::KeyPoint>…
最近在做对应点估计homography,需要用到opencv,c++的接口不如python的接口来的方便 但是在安装python接口的opencv的时候,遇到了各种问题,主要是函数找不到的问题 比如在使用sift函数的时候, cv2.xfeatures2d.SIFT_create() 会遇到函数找不到的问题 AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d' 或者: error: (-213:The function/f…
海康相机型号:DS-2CD2512F-IS 参考连接http://blog.csdn.net/wanghuiqi2008/article/details/31404571 先上效果图 其中,在连接时遇到了X64与X86兼容问题: 海康SDK在X64(配置时用的时X64),程序运行时采用的X64,但opencv2.4.9配置时又采用的时X86,所以在使用X64的时候,会出现opencv找不到lib文件,所有在程序中添加了以下代码: #pragma comment( lib, "opencv_hig…
/*M/////////////////////////////////////////////////////////////////////////////////////////// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.//// By downloading, copying, installing or using the software you agree to this license./…
今天依照网上的教程尝试了一下最基本的图片显示. 首先想说一下编译时出现的问题,开始时在编译时会出现无法识别cvReleaseImage的情况,是因为没有在配置中包含相应的core的库文件. 加进去就解决这个问题了. 另一个问题是在编译通过以后提示程序拒绝访问,经网上查找好像和英雄联盟有关..貌似是LOL关闭了什么调试功能,总之重启一下电脑就好了. 最后放上相应代码: #include <iostream> //#include <opencv/cv.h> //#include &l…
解决的办法如下: 1.关闭所有Visual Studio: 2.以管理员的身份打开命令提示窗口:(开始-运行-cmd) 3.更改目录至"CD C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\”下面:(如图WIN7下64位运行vs2010项目错误.jpg) 4.输入该命令corflags /32bit+ ResGen.exe /force,编译执行看是否可用解决问题,如果不能继续下一步: 5.使用记事本打开.csproj文件: 6.在…
最近一直沉迷于SSE方面的优化,实在找不到想学习的参考资料了,就拿个笔记本放在腿上翻翻OpenCv的源代码,无意中看到了OpenCv中关于积分图的代码,仔细研习了一番,觉得OpenCv对SSE的灵活运用真的做的很好,这里记录下我对该段代码的品味并将其思路扩展到其他通道数的图像. 该核心代码位于:Opencv 3.0\opencv\sources\modules\imgproc\src\sumpixels.cpp文件中. 我们贴出最感兴趣的一部分代码以便分析: bool operator()(co…
最近一直沉迷于SSE方面的优化,实在找不到想学习的参考资料了,就拿个笔记本放在腿上翻翻OpenCv的源代码,无意中看到了OpenCv中关于积分图的代码,仔细研习了一番,觉得OpenCv对SSE的灵活运用真的做的很好,这里记录下我对该段代码的品味并将其思路扩展到其他通道数的图像. 该核心代码位于:Opencv 3.0\opencv\sources\modules\imgproc\src\sumpixels.cpp文件中. 我们贴出最感兴趣的一部分代码以便分析: bool operator()(co…
纯跑代码,不是附加进程调试. 打开不能调试的类库项目属性页面→切换到生成选项卡→点击高级按钮→将调试信息一项设置 将“调试信息”设置为“pdb-only”.  我是按图上的设置就正常了. -- 2016-9-21 ADD: 不能调试的类库可能需要和启动项保持同样的编译平台,如:x86,然后再到高级中设置.…
目录: 1.Win32项目的windows窗体程序的向导生成了如下代码 2.手工生成代码如下 3.当消息队列中没有消息需要处理,我们可以利用这段时间处理我们自己的任务 1.Win32项目的windows窗体程序的向导生成了如下代码: [cpp] view plaincopy // Timer.cpp : 定义应用程序的入口点. // #include "stdafx.h" #include "Timer.h" #define MAX_LOADSTRING 100 /…
先来普及一下概念, 计算机对人脸是如何识别的呢? 或者说图像是如何识别的.主要是获取单张图片的特征值记录了特征值以后,如果下一张图片来了以后两张图片特征值进行对比,如果相似度很高那么计算机就认定这两个是一类图(当然这是需要算法来实现的) 我写的这个是怎么实现的呢,一组训练集训练要识别的人的图像来进行特征提取保存到模型中,在通过摄像头返回的图像进行处理并最后展现出来 直接上代码:   ---- 抱歉由于不知道插入代码后怎么写文字我就全写这了.代码不算完善,但是识别没问题   使用时修改   tra…
[Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt开发] [VS开发] [Linux开发] 这几天不断地在windows.VMWare Ubuntu14.04.ARM-Linux上反复折腾Qt-creator,OpenCV的开发,弄得有些乱七八糟,想的是配置出一个完整的四种不同环境之间的可移植验证平台.目的是一个完整的Qt-Creator程序,可以…
转自 http://blog.csdn.net/v_july_v/article/details/8203674 ,感谢july的辛勤劳动 前言 前两日,在微博上说:“到今天为止,我至少亏欠了3篇文章待写:1.KD树:http://weibo.com/1580904460/z1PosdcKj:2.神经网络:http://weibo.com/1580904460/yBmhfrOGl:3.编程艺术第28章:http://weibo.com/1580904460/z4ZGFiDcY.你看到,blog内…
转载自:http://blog.csdn.net/v_july_v/article/details/8203674/ 从K近邻算法.距离度量谈到KD树.SIFT+BBF算法 前言 前两日,在微博上说:“到今天为止,我至少亏欠了3篇文章待写:1.KD树:2.神经网络:3.编程艺术第28章.你看到,blog内的文章与你于别处所见的任何都不同.于是,等啊等,等一台电脑,只好等待..”.得益于田,借了我一台电脑(借他电脑的时候,我连表示感谢,他说“能找到工作全靠你的博客,这点儿小忙还说,不地道”,有的时…
说明:本文所有算法的涉及到的优化均指在PC上进行的,对于其他构架是否合适未知,请自行试验. Box Filter,最经典的一种领域操作,在无数的场合中都有着广泛的应用,作为一个很基础的函数,其性能的好坏也直接影响着其他相关函数的性能,最典型莫如现在很好的EPF滤波器:GuideFilter.因此其优化的档次和程度是非常重要的,网络上有很多相关的代码和博客对该算法进行讲解和优化,提出了不少O(1)算法,但所谓的0(1)算法也有优劣之分,0(1)只是表示执行时间和某个参数无关,但本身的耗时还是有区别…
Surf(Speed Up Robust Feature) Surf算法的原理                                                                            1.构建Hessian矩阵构造高斯金字塔尺度空间 其实surf构造的金字塔图像与sift有很大不同,就是因为这些不同才加快了其检测的速度.Sift采用的是DOG图像,而surf采用的是Hessian矩阵行列式近似值图像.Hessian矩阵是Surf算法的核心,为了方便运…
http://blog.csdn.net/xiaohanstu/article/details/45309149?utm_source=tuicool <pre name=.7配置 .配置 ().在“视图”中打开“属性管理器”: ().在“属性管理器”中双击Demo的项目名称: ().在“Demo属性页”->“VC++目录”->“包含目录”中追加下面一行(包括所有分号,勿删VS原始数据): ;D:\opencv247\opencv\build\include ;D:\opencv247\…
电脑配置: 操作系统:window 8.1 Matlab 2012a安装路径:D:\Program Files\MATLAB\R2012a VS2010 : OpenCV 2.4.3:D:\Program Files\opencv 补充说明: 在配置前,先检查一下系统变量: 1.若缺少系统变量(该路径必须添加!!!): D:\Program Files\MATLAB\R2012a\runtime\win64 导致结果:程序无法正常启动0x000007b.请单击“确定”关闭应用程序 注意变量配置后…
Surf(Speed Up Robust Feature) Surf算法的原理                                                                            1.构建Hessian矩阵构造高斯金字塔尺度空间 其实surf构造的金字塔图像与sift有很大不同,就是因为这些不同才加快了其检测的速度.Sift采用的是DOG图像,而surf采用的是Hessian矩阵行列式近似值图像.Hessian矩阵是Surf算法的核心,为了方便运…
上一篇中我们对训练数据做了一些预处理,检测出人脸并保存在\pic\color\x文件夹下(x=1,2,3,...类别号),本文做训练和识别.为了识别,首先将人脸训练数据 转为灰度.对齐.归一化,再放入分类器(EigenFaceRecognizer),最后用训练出的model进行predict. ----------------------------------------- 环境:vs2010+opencv 2.4.6.0 特征:eigenface Input:一个人脸数据库,15个人,每人2…