Opencv
Belial_2010
小硕,关注计算机视觉、机器视觉、图像处理和Photoshop算法分析,熟悉模式识别和机器学习。
展开
-
时空上下文视觉跟踪(STC)算法的解读与代码复现
文章转自:时空上下文视觉跟踪(STC)算法的解读与代码复现,作者:zouxy09@qq.com 本博文主要是关注一篇视觉跟踪的论文。这篇论文是Kaihua Zhang等人今年投稿到一个会议的文章,因为会议还没有出结果,所以作者还没有发布他的Matlab源代码。但为了让我们先睹为快,作者把论文放在arxiv这个网站上面供大家下载了。对于里面所描述的神奇的效果,大家都跃跃欲试,也有人将转载 2015-11-17 11:10:08 · 4738 阅读 · 1 评论 -
单目摄像机标定程序
我自己写了一个摄像机标定程序,核心算法参照learning opencv,但是那个程序要从命令行预先输入参数,且标定图片要预先准备好,我觉得不太好,我就自己写了一个,跟大家分享下。若有纰漏,希望大家指正!转载 2014-09-12 15:03:25 · 1152 阅读 · 0 评论 -
Hough变换直线检测
本文主要介绍Hough变换用于直线检测的思想和原理。原创 2014-07-29 19:56:26 · 4104 阅读 · 0 评论 -
基于纹理边缘抑制的轮廓和边界检测(Contour and Boundary Detection)
基于纹理边缘抑制的轮廓和边界检测(Contour and Boundary Detection)kezunhai@gmail.comhttp://blog.csdn.net/kezunhai 一幅复杂的自然场景图像中包含丰富的信息,视觉不可能对空间中的每一点赋予相同的关注程度。对人类视觉系统的实验表明:图像中的轮廓特征特别重要,它们在保留关于物体的边原创 2013-09-24 23:41:51 · 4639 阅读 · 1 评论 -
floodfill算法
文章来自:http://blog.sina.com.cn/s/blog_7506816f0100pqzn.html 从国外网站看到几个关于floodfill的code,感觉不错,供大家分享,主要分为以下几种,具体不用介绍,程序一看就明白。 一、4-Way Recursive Method(FloodFill4)//Recursive 4-转载 2013-09-14 23:30:00 · 1678 阅读 · 0 评论 -
TLD(Tracking-Learning-Detection)学习与源码理解之
文章来自:http://blog.csdn.net/zouxy09/article/details/7893011 TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生Zdenek Kalal在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟转载 2013-09-14 11:03:48 · 2948 阅读 · 1 评论 -
Canny算子中的非极大值抑制(Non-Maximum Suppression)分析
非极大值抑制详解(Non-Maximum Suppression)kezunhai@gmail.comhttp://blog.csdn.net/kezunhai 在前面介绍图像不变特征算子的时候,很多处都用到了非极大值抑制。对于非极大值抑制的分析,很多论文或资料都是一带而过,留下傻傻的自己似懂非懂,就那么忽悠过了。本文针对日常中应用的非极大值抑制进行详细的分析原创 2013-09-13 23:38:27 · 48854 阅读 · 10 评论 -
Opencv中Mat数据访问方式效率对比分析
OPENCV库是一个应用非常广泛的计算机视觉与机器学习库,而对矩阵的访问也是最常见.的操作。尽管OPENCV已经升级了N多次,最新版本是2.4.6,但对数据的访问我一直还是延续OPENCV1.X中讲解的效率最高的访问方式,也即指针方式。今天偶来兴致,想测测自己频繁使用访问数组方式的各种效率,本文对Mat矩阵的三种访问方式的效率进行了比较和分析。原创 2013-09-05 18:51:00 · 2883 阅读 · 0 评论 -
opencv将视频序列转换为图像序列保存
在视频处理中,常常需要对视频序列进行转换,一方面是为了处理的方便,另一方面也是项目的要求。对视频序列转换为图像帧的好像可以逐渐的对图片序列进行必要的事前处理,比如进行标注、先验信息的提取等。这里借用Opencv平台库简单的视频将一个输入视频序列转换为图片序列的程序。int _tmain(int argc, char* argv[]){ const string strFilePath="D原创 2013-09-02 23:14:40 · 2216 阅读 · 0 评论 -
积分直方图加速HOG特征计算
注明:文章来自:使用opencv作物件识别(一) —— 积分直方图加速HOG特征计算 方向梯度直方图(Histograms of Oriented Gradients,简称HOG特征)结合支持向量机( support vector machine, 简称SVM),被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。 积分直方图可以用于快速计算原始图像矩形区域内的HOG特转载 2013-09-02 23:23:16 · 2121 阅读 · 0 评论 -
Cvbox2D(RotatedRect)的解析与应用
之前用到opencv最小外接矩形去表示一个类椭圆形的高度,特此记录备查。对给定的 2D 点集,寻找最小面积的包围矩形,使用函数:原创 2014-09-03 08:55:28 · 7498 阅读 · 1 评论 -
图像分析:投影曲线的波峰查找
本文转自:原创 2014-09-04 09:27:26 · 3569 阅读 · 1 评论 -
opencv中排序Key-Value对结构sorted_vector
sorted_vector是OpenCVS中定义的一个用于键值对Key-Value原创 2014-10-24 15:42:05 · 1335 阅读 · 0 评论 -
素描图像提取方法
在图像特效或应用中,素描是一种常见的特效,本文简单介绍几种常见的素描算法。首先,分享两个opencv中Mat类型的像素数据读取函数:inline uchar getPixel(const Mat& img, int row, int col, int ch){ return ((unsigned char*)img.data + img.step*row)[col*img.channels原创 2015-10-28 22:01:33 · 4737 阅读 · 0 评论 -
智能视频分析中的光照强度突然变化的处理方法
在智能视频分析系统的研究过程中,尤其是对于一些工程应用来说,光照的突然变化是一个很棘手的问题。尽管,不少学者对光照的突然变化进行了大量的研究,而且也提出了相关的光照不变的算法(illumination invariant),对解决这类问题提供了一定的思路。一般都是通过计算光照不变特征来实现,文章包括: 1)An Illumination Invariant Change Detect原创 2013-08-23 12:46:45 · 4533 阅读 · 0 评论 -
基于像素自适应分割的运动目标检测算法
Pixel-Based Adaptive Segmenter(PBAS)检测算法,从思路和框架上看,该算法是结合了SACON和VIBE两个算法的优势,并进行了一些细微的改进而成的,算法在检测性能上优于SACON和VIBE。PBAS兼具两者特性,对缓慢的光照变化具有较强的鲁棒性,对环境也有较强的适应能力,值得进一步关注。原创 2013-07-23 19:50:48 · 6551 阅读 · 17 评论 -
opencv中BackgroundSubtractorMOG类中的背景提取
在智能视频分析中,混合高斯建模算法(GMM)是使用最为广泛的算法之一,近来项目对速度要求较高,原先研发的算法在实时性上无法满足需求,因此转向GMM。在Opencv中,有GMM算法的三个实现版本,分别是BackgroundSubtractorMOG、BackgroundSubtractorMOG2和BackgroundSubtractorGMG,在多种实际场景测试和比较中,发现BackgroundS原创 2015-05-27 21:26:33 · 8364 阅读 · 1 评论 -
OpenCV中parallel_for 和 parallel_for_学习笔记
OpenCV 从2.4.3开始加入了并行计算的函数parallel_for和parallel_for_(更准确地讲,parallel_for以前就存在于tbb模块中,但是OpenCV官网将其列在2.4.3.的New Features中,应该是重新改写过的)。2.4.3中自带的calcOpticalFlowPyrLK函数也用parallel_for重写过了,之前我一直认为parallel转载 2014-11-06 17:01:32 · 1107 阅读 · 0 评论 -
常用图像算法(图像增强)
常用图像增强算法介绍1、对数图像增强算法 对数图像增强是图像增强的一种常见方法,其公式为: S = c log(r+1),其中c是常数(以下算法c=255/(log(256)),这样可以实现整个画面的亮度增大。void LogEnhance(IplImage* img, IplImage* dst){ // 由于oldPixel:[1,256],则可以先保存一个查找表原创 2014-11-27 20:49:47 · 18063 阅读 · 1 评论 -
opencv中Mat类型操作或转换代码分析
OpenCV中对Mat类型的操作,具有很多技巧,下面列几个函数:原创 2014-10-24 17:34:15 · 1835 阅读 · 0 评论 -
opencv中的直线拟合函数 cvFitLine
opencv中 2D 或 3D 点集的直线拟合转载 2014-11-10 17:09:52 · 1591 阅读 · 0 评论 -
基于部分的行人检测(Part-Based Pedestrians Detection)论文列表
1、Segmentation of Multiple, PartiallyOccluded Objects by Grouping, Merging,Assigning Part Detection Responses_cvpr08.2、Tracking Multiple Humans in Complex Situations_pami04.3、Detection of原创 2013-08-28 16:24:06 · 2372 阅读 · 3 评论 -
在xcode中应用opencv开发iphone应用程序
opencv是一个强大的计算机视觉库,对图像处理的底层函数进行了很好的封装,并提供全面的C和C++接口函数供上层开发。本文简单的介绍在xcoe中应用opencv开发一个实例的程序。原创 2013-08-27 18:47:18 · 2223 阅读 · 0 评论 -
HoG 和PHoG (pyramid HoG)
1)关于HoG的介绍可以参考博文:http://blog.csdn.net/kezunhai/article/details/88308602)而关于PHoG则可以参考:http://www.robots.ox.ac.uk/~vgg/research/caltech/phog.html3)PHoG源码下载(Matlab):http://www.robots.ox.ac.uk/~vgg/re原创 2013-08-16 12:28:29 · 3980 阅读 · 0 评论 -
纹理特征-LBP的扩展DLBP
参考文献:Background Subtraction Based on a Combination of Texture,Color and Intensity ICSP 2008。文献在LBP的基础上,提出了DLBP特征(Double Local Binary Pattern)。LBP的缺点:1)、It cannot differeniate between ascending and h转载 2013-07-12 11:02:49 · 1900 阅读 · 0 评论 -
基于DCT系数的实时监控中运动目标检测
本文的主要内容来自2009 Advanced Video and Signal Based Surveillance会议的一篇论文“Real-Time Moving Object Detection for Video Surveillance”,要看原文内容请参考文后给出的链接。申明二点:① 本文是根据提到的论文翻译过来的,但不完全与原文相同;②代码实现部分,在detect函数部分,逻辑有问题,原创 2013-07-06 17:11:13 · 2964 阅读 · 3 评论 -
opencv用SVM进行多类分类
最近遇到一个多分类的问题,在网上查了些有关SVM的资料,这篇日志是来自:http://wenku.baidu.com/view/81c3e210f18583d0496459f0.html 自己写代码实现了下,感觉很好使,作为一个学习的例子,放在自己的博客里,供以后查阅使用。#include "stdafx.h"#include "cv.h"#include "highgui.h"#in转载 2013-05-08 20:55:41 · 3031 阅读 · 1 评论 -
Opencv 利用分割的图像掩膜来完善检测前景
在目标检测中,经常会出现目标断开、不连续或空洞的情况,针对该钟情况,我们总是要想各种方法去填补空洞,使断开的部分连接起来。下面介绍一个函数来实现该功能:void cvRefineForegroundMaskBySegm( CvSeq* segments, IplImage* pFrImg ){ IplImage* tmp_image = cvCreateImage(cvSize(原创 2013-04-21 13:13:20 · 4222 阅读 · 1 评论 -
积分直方图加速HOG特征计算
注明:文章来自:使用opencv作物件识别(一) —— 积分直方图加速HOG特征计算 方向梯度直方图(Histograms of Oriented Gradients,简称HOG特征)结合支持向量机( support vector machine, 简称SVM),被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。 积分直方图可以用于快速计算原始图像矩形区域内的转载 2013-04-21 14:07:09 · 1264 阅读 · 0 评论 -
OpenCV中Mat与IplImage和CvMat类型之间的相互转换
文章来自:http://blog.sina.com.cn/s/blog_67eb1f2f0100z35o.htmlat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Matlab中的各种矩阵运算),所以将IplImage类型和CvMat类型转换为Mat类型更易于数据处理。Mat类型可用于直接存储图像信息,通过函数imread、imwrite、im转载 2013-04-21 13:17:18 · 1020 阅读 · 0 评论 -
求多边形或轮廓的凸包(Hull)
在图像处理和分析中,通常会遇到求物体的凸包或某类型形状的凸包,以下函数可以实现该功能:void get_hull(cv::Mat& src,int thresh){ Mat src_copy = src.clone(); Mat threshold_output; vector > contours; vector hierarchy; /// Detect edges usi原创 2013-04-21 14:08:54 · 1237 阅读 · 0 评论 -
Opencv2.X以上Mat类型与IplImage*的转换
在Opencv2.X以上的处理中,大部分处理都是以Mat为主,而对于习惯了1.X的童鞋来说,有时候会带来不便,希望能采用1.X的形式来处理。经过试验,介绍一种简单的Mat与IplImage*类型间的转换:示例代码是需要mat转换为img: Mat mat,mat1; // mat1是临时变量 IplImage * img; ma原创 2013-04-21 13:10:45 · 1603 阅读 · 0 评论 -
Opencv求两个矩形是否相交,以及他们的重叠度
在图像处理中经常会遇到判断两个矩形是否相交,以及相交的比例的情况,下面是来自TLD算法中源码的求法:float bbOverlap(const BoundingBox& box1,const BoundingBox& box2){ if (box1.x > box2.x+box2.width) { return 0.0; } if (box1.y > box2.y+box2.he原创 2013-04-21 14:20:36 · 6442 阅读 · 0 评论 -
纹理特征-LBP
纹理是物体表面的固有特征之一,可认为是灰度(颜色)在空间以一定的形式变化而产生的图案(模式). LBP(Local Binary Pattern, 局部二值模式)是一种用来描述图像局部纹理特征的算子;它的作用是进行特征提取,提取图像的局部纹理特征。原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素转载 2013-07-12 10:55:27 · 2213 阅读 · 0 评论 -
纹理特征-LBP的扩展VLBP
参考文献 Dynamic Texture Recognition Using Volume Local Binary Patterns Workshop on Dynamical Vision 2007。VLBP :( volume local binary patterns)。VLBP与STLBP相比,不同之处在于它同时考虑前p帧图像和后p帧图像的LBP特征。因而,提取VLBP特征是需要事转载 2013-07-12 11:16:05 · 3021 阅读 · 1 评论 -
OpenCV学习笔记(五十)——Algorithm类介绍(core)
文章来自:http://blog.csdn.net/yang_xian521/article/details/7533922 刚开始学习新的2.4.0,大概看了一遍使用手册,还是有些失望的,很多章节还是2.3.1的内容,文档上的代码也是漏洞很多。这里就简单介绍一下Algorithm这个新的基类。本来以为这部分是一个新模块的,看了referenceManual后才知道它只是一个基类,集转载 2013-06-27 17:07:58 · 1468 阅读 · 0 评论 -
目标检测中RGB和HSV颜色空间的距离度量方式
在进行彩色图像处理中,尤其是对于分割、分类和识别,都不可避免的涉及到颜色的度量。而在具体的应用中,选择哪种方式来度量颜色间的差异是一个很值得研究的问题。本文根据论文:Change Detection In Color Images的内容翻译而来,如果还要了解相关细节,请参考原文:Change Detection In Color Images。 (1)Euclidean D原创 2013-08-26 23:31:11 · 6226 阅读 · 6 评论 -
IOS平台下OpenCV的配置和使用
在IOS平台下使用OpenCV时,首先需要安装Xcode,然后下载OpenCV for IOS,下载地址为:OpenCV for IOS。原创 2013-07-25 19:58:42 · 1785 阅读 · 1 评论 -
局部二值模式LBP(Local Binary Pattern)实现代码
局部二值模式LBP由于其简单、高效在目标检测、目标识别、图像检索等领域得到了广泛的应用。现如今,LBP的变体不下上十种,如VLBP、SILBP等。要了解更多关于LBP的知识可以参考:纹理分类-全局特征LBP及相关文献。 下面介绍的三种LBP算子的区别见下图: 本文不介绍LBP的理论知识,只是简单的说说LBP及其变体的实现:原创 2013-08-23 19:26:31 · 4970 阅读 · 3 评论 -
Opencv中计算梯度、梯度幅值以及梯度方向的相关函数
在进行图像处理中,经常会计算图像的梯度、梯度幅值以及梯度等,对于不太了解opencv的,可能会自己写计算梯度、梯度幅值和梯度方向的函数,其实这些工作OpenCV都已经为我们做了。下面来看看Opencv中的相关函数: 1)计算梯度幅值函数magnitude该函数根据输入的微分处理后的x和y来计算梯度幅值,x和y可以通过sobel, scharr等边缘算子求得,而且可以直接原创 2013-08-08 16:39:27 · 16661 阅读 · 0 评论