Ⅰ 如何将opencv里的HOG算法提取出来做成dll
首先去opencv的安装路径下moles\objdetect目录中找到hog的头文件和源代码,然后把里面用到的相关的类,函数等也找出来,单独写成.h和.cpp文件,最后放到工程里面编译生成dll。不过这个工作量应该相当大,我尝试过把haar检测单独提取出来,但是没成功,里面的各种类的相互关系太复杂了。
Ⅱ 图像识别算法都有哪些
图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。一般工业使用中,采用工业相机拍摄图片,然后再利用软件根据图片灰阶差做进一步识别处理,图像识别软件国外代表的有康耐视等,国内代表的有图智能等。另外在地理学中指将遥感图像进行分类的技术。
Ⅲ 图像的特征提取都有哪些算法
图像的经典特征提取方法:
1 HOG(histogram of Oriented Gradient,方向梯度直方图)
2 SIFT(Scale-invariant features transform,尺度不变特征变换)
3 SURF(Speeded Up Robust Features,加速稳健特征,对sift的改进)
4 DOG(Difference of Gaussian,高斯函数差分)
5 LBP(Local Binary Pattern,局部二值模式)
6 HAAR(haar-like ,haar类特征,注意haar是个人名,haar这个人提出了一个用作滤波器的小波,为这个滤波器命名为haar滤波器,后来有人把这个滤波器用到了图像上,就是图像的haar特征)
图像的一般提取特征方法:
1 灰度直方图,颜色直方图
2 均值,方差
3 信号处理类的方法:灰度共生矩阵,Tamura纹理特征,自回归纹理特征,小波变换。
4 傅里叶形状描述符,小波描述符等,
Ⅳ HOG算法什么意思
特征梯度直方图算法,现在非常流行的一种行人检测的算法,一般配合LBP和SVM分类器效果很好。你要想具体了解可以去WIKI 或者 navneet的网站看看专业解释。
不过HOG函数已经集成在了OPENCV库里面,因此其实没有必要非要搞懂这个算法。。。
Ⅳ 图像hog特征 最边上像素点怎么计算
这个问题我问过老师了,if((pImg = cvLoadImage( "路径文件",0)) != 0 )
Ⅵ 如何将hog 特征进行svm matlab
(1)准备训练样本集合;包括正样本集和负样本集;根据机器学习的基础知识我们知道,要利用机器学习算法进行样本训练,从而得到一个性能优良的分类器,训练样本应该是无限多的,而且训练样本应该覆盖实际应用过程中可能发生的各种情况。(很多朋友,用10来个正样本,10来
个负样本进行训练,之后,就进行测试,发现效果没有想象中的那么好,就开始发牢骚,抱怨。。。对于这些人,我只能抱歉的说,对于机器学习、模式识别的认
识,你还处于没有入门的阶段);实际应用过程中,训练样本不可能无限多,但无论如何,三五千个正样本,三五千个负样本,应该不是什么难事吧?(如果连这个
都做不到,建议你别搞机器学习,模式识别了;训练素材都没有,怎么让机器学习到足够的信息呢?)
(2)收集到足够的训练样本之后,你需要手动裁剪样本。例如,你想用Hog+SVM来对商业步行街的监控画面中进行行人检测,那么,你就应该用收集到的训练样本集合,手动裁剪画面中的行人(可以写个简单程序,只需要鼠标框选一下,就将框选区域保存下来)。
(3)裁剪得到训练样本之后,将所有正样本放在一个文件夹中;将所有负样本放在另一个文件夹中;并将所有训练样本缩放到同样的尺寸大小。OpenCV自带的例子在训练时,就是将样本缩放为64*128进行训练的;
(4)提取所有正样本的Hog特征;
(5)提取所有负样本的Hog特征;
(6)对所有正负样本赋予样本标签;例如,所有正样本标记为1,所有负样本标记为0;
(7)将正负样本的Hog特征,正负样本的标签,都输入到SVM中进行训练;Dalal在论文中考虑到速度问题,建议采用线性SVM进行训练。这里,不妨也采用线性SVM;
(8)SVM训练之后,将结果保存为文本文件。
(9)线性SVM进行训练之后得到的文本文件里面,有一个数组,叫做support vector,还有一个数组,叫做alpha,有一个浮点数,叫做rho;将alpha矩阵同support vector相乘,注意,alpha*supportVector,将得到一个列向量。之后,再该列向量的最后添加一个元素rho。如此,变得到了一个分类器,利用该分类器,直接替换opencv中行人检测默认的那个分类器(cv::HOGDescriptor::setSVMDetector()),就可以利用你的训练样本训练出来的分类器进行行人检测了。
Ⅶ opencv 2.4.9 hog svm 在哪个 库
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
现本教程,是在windows平台下使用visual studio2013和opencv2.4.9配置一个开发环境。
工具/原料
opencv2.4.9地址:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.9/opencv-2.4.9.exe/download
vs2013请自行网络
方法/步骤
安装opencv2.4.9,解压,请务必记住自己解压的路径。宜家以我自己的路径为例D:\Program Files
配置环境变量
1、系统变量 Path:添加D:\Program Files\opencv\build\x86\vc12\bin
2、用户变量:添加opencv变量,值D:\Program Files\opencv\build,添加PATH变量(有就不需要添加,但是值需要添加)值D:\Program Files\opencv\build\x86\vc12\bin
说明:不管你系统是32位还是64位,路径目录均选择X86,因为编译都是使用32位编译;如果选用X64,则程序运行时候会出错。
新建visual C项目
新建 visual C++项目,如下图所示,项目选项注意:如下图。
工程目录的配置(Debug)
找到属性管理器,如果找不到,请安装下图方法找到。双击Debug|Win32打开如下窗口,
设置如下:(下图红框项为设置项)
1、包含目录:(VC++目录)
D:\Program Files\opencv\build\include
D:\Program Files\opencv\build\include\opencv
D:\Program Files\opencv\build\include\opencv2
2、库目录:(VC++目录)D:\Program Files\opencv\build\x86\vc12\lib
3、连接器->输入->附加依赖项:
opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
其实以上都是D:\Program Files\opencv\build\x86\vc12\lib下所有的lib文件,你会发现,有的后面带上d,有的没有d,这是因为Debug的就有d,Release则没有d。
Ⅷ 深度学习比sift,spin image,HoG,RIFT,GLOH,Textons等传统特征提取好在哪
深度学习,提取特征需要大的图像库(目前一般都百万级了)。
传统方法,提取特征一幅图像就可以。