
OpenCV
gxiaob
这个作者很懒,什么都没留下…
展开
-
多目标跟踪
Multi-Object Tracking目前参与的一个项目是『足球事件检索』。事件是一个 high-level 概念,需要基于一些 low-level 信息来做。后者主要就是一些图像处理的东西了。两个 level 之间,会有一些中间层的信息,比如足球的走向。根据师兄的建议,可以考虑对足球场上的运动员进行多目标跟踪,在跟踪轨迹的基础上抽取一些有用的信息。一来这个项目可能用到 MOT 作为中转载 2014-11-08 18:01:58 · 18455 阅读 · 3 评论 -
Opencv中的cvWaitkey函数的用法
openv中对cvWaitkey函数的定义如下:int cvWaitKey( int delay=0 )返回值为int型,函数的参数为int型,当delay小于等于0的时候,如果没有键盘触发,则一直等待,此时的返回值为-1,否则返回值为键盘按下的码字;当delay大于0时,如果没有键盘的的触发,则等待delay的时间,此时的返回值是-1,否则返回值为键盘按下的码字。测试代码如下:#原创 2013-06-07 22:57:20 · 56737 阅读 · 1 评论 -
Opencv通过摄像头画框
/************************************************************************///视频跟踪中经常需要确定第一帧中的目标位置,本程序利用鼠标响应函数实现了在视频的任意位置画框,并且可以反复的重新画框//代码主要参考了CT跟踪的画框方法#include #include #include #include原创 2013-06-07 22:17:38 · 5136 阅读 · 0 评论 -
Opencv2.3.1附加依赖项
在vs里面调用opencv函数时通常需要在工程建好之后添加附加依赖项,否则编译时,会出现各种错误。vs中,可以设置程序的不同版本release和debug两种,不同的版本附加依赖项是有很大区别的。在opencv 2.3.1中debug对应的附加依赖项为:opencv_calib3d231d.libopencv_contrib231d.libopencv_core231d.lib原创 2013-06-06 08:57:11 · 5349 阅读 · 1 评论 -
Opencv中获取矩阵的元素值
Opencv中获取矩阵的元素值有多种方法,这里主要介绍宏定义的方法CV_MAT_ELEM( mat, elemtype, row, col )参数介绍: mat表示一个矩阵,elemtype表示元素类型,row 表示对应的行,col表示对应的列测试代码:#include#include#include#includeusing namespace std;int原创 2013-04-03 09:17:14 · 7416 阅读 · 1 评论 -
基于opencv的环心识别程序
最近在opencv 每日一练中看到一期环心查找的题目,代码作者已经给出,这里主要分析一下它的思路:(1)先将图像二值化,之后去噪。(2)通过轮廓查找和漫水填充算法和膨胀腐蚀求出处理后的轮廓,找出处理后的轮廓。(3 )利用二值化图像的形心计算公式计算圆圈的中心位置,在原图像中画出此中心效果图:原创 2013-03-15 22:45:51 · 1676 阅读 · 1 评论 -
求二值图像的形心
对于一张二值图像而言,假如白色像素区域为目标像素区域,黑色像素为背景,用1表示白色,0表示黑色像素,则图像目标的形心求取公式如下:其中x0,y0是质心坐标,f(x,y)是二值化图像在点(x,y)处的像素值根据上面的公式,通过像素的遍历,利用Opencv可以写出一个函数,来求形心代码如下:CvPoint GetCenterPoint(IplImage *src){ int i原创 2013-03-16 22:50:29 · 16737 阅读 · 0 评论 -
Opencv中RNG
Opencv中的RNG类主要用来生成随机数,此类的定义如下:class CV_EXPORTS RNG{public: enum { UNIFORM=0, NORMAL=1 }; RNG(); RNG(uint64 _state); //! updates the state and returns the next 32-bit unsigned原创 2013-06-07 22:32:13 · 8088 阅读 · 0 评论 -
Opencv2.3.1读取图片并显示
//#include “StdAfx.h”#include #include #include #include using namespace cv;using namespace std; int main(){ //string imageName = "lena.jpg"; string imageName ="C:\\Users\\Adm原创 2013-07-10 16:48:30 · 2755 阅读 · 0 评论 -
将txt文件转化为mat文件
%%参考http://blog.youkuaiyun.com/afgh2587849/article/details/5996619%%http://hi.baidu.com/dreamflyman/item/ed5137f19c742d0ec7dc4577load('D:\计算机视觉标准测试视频\Code\data.txt');little_cell=cell(1,2);CellArr=ce原创 2014-06-12 21:45:25 · 6557 阅读 · 2 评论 -
Opencv将图片转化成视频
// VideoWriter.cpp : 定义控制台应用程序的入口点。////#include "stdafx.h"#include "cv.h"#include "highgui.h"#include "iostream"using namespace std;int main(int argc, char* argv[]){double fps =原创 2014-06-12 21:43:03 · 7233 阅读 · 2 评论 -
opencv读取yml文件
yml文件常用于代码中参数较多的情况,通过将参数输入到yml文件非常便于参数的管理,opencv中读取参数的方法如下:FileStorage fs; //定义FileStorage的对象fs,用以打开yml文件 fs.open("parameters.yml",FileStorage::READ); //读取yml文件原创 2014-03-01 22:14:56 · 4056 阅读 · 0 评论 -
直方图规定化之SML和GML映射
参考:章毓晋. 图像工程(上册):图像处理[M]. 北京: 清华大学出版社,2006.灰度直方图规定化实现方法的分析 pdfhttp://blog.youkuaiyun.com/juyingmin/article/details/5675851http://blog.jrj.com.cn/110111010059963505,1483865a.htmlhttp://course.cug.e原创 2013-12-09 17:29:18 · 26022 阅读 · 2 评论 -
直方图规定化
未完待续原创 2013-12-09 17:31:56 · 2106 阅读 · 0 评论 -
颜色直方图均衡化
直方图均衡化这种方法通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X光图像中更好的骨骼结构显示以及曝光过度或者曝光不足照片中更好的细节。这种原创 2013-12-09 17:30:48 · 4520 阅读 · 0 评论 -
利用cmake编译opencv库
未完待续参考资料:http://www.huqiwen.com/2012/11/27/compile-opencv-243-in-visual-studio-2012/原创 2013-08-08 21:11:37 · 11292 阅读 · 0 评论 -
Opencv的RGB到HSV颜色空间转换
(1)Matlab RGB转换为HSVI = imread('Lena.jpg');HSV = rgb2hsv(I);H = HSV(:, :, 1);S = HSV(:, :, 2);V = HSV(:, :, 3);figure;subplot(2, 3, 1); imshow(I);//subplot(2, 3, 2); imshow(HSV);subpl原创 2013-04-16 23:06:30 · 46195 阅读 · 1 评论 -
图像中获取图像的像素值
1、matlab获取彩色图像像素值的方法 img=imread('test.jpg'); img1=img(:,:,1); img2=img(:,:,2); img3=img(:,:,3); 三通道排序分别对应彩色图像的rgb三通道2、opencv中获取图像像素的方法方法一: IplImage *img = cvLoadImage(原创 2012-12-26 21:40:53 · 14525 阅读 · 0 评论 -
Opencv的Ellipse函数
Ellipse绘制椭圆圆弧和椭圆扇形。 void cvEllipse( CvArr* img, CvPoint center, CvSize axes, double angle, double start_angle, double end_angle, CvScalar color, int thickness=1,原创 2013-07-21 15:42:12 · 26884 阅读 · 3 评论 -
Opencv Mat与Iplimage的相互转换
1、将Mat转换为IplImage//! converts header to IplImage; no data is copied operator IplImage() const;2、将IplImage转换为Mat//! converts old-style IplImage to the new matrix; the data is not copied by d原创 2013-08-02 15:56:22 · 60558 阅读 · 2 评论 -
opencv中CvSeq的用法
最近遇到了Opencv中的CvSeq结构的用法,由于我基础较差,刚开始看不懂,不得不花时间去查阅,如果分析的不对还请大家指出来!CvSeq结构在Opencv中的源码如下面所示:#define CV_TREE_NODE_FIELDS(node_type) \ int flags; /*原创 2013-03-04 11:14:15 · 5647 阅读 · 1 评论 -
OpenCV码源笔记——RandomTrees (一) .
OpenCV2.3中Random Trees(R.T.)的继承结构:API:CvRTParams定义R.T.训练用参数,CvDTreeParams的扩展子类,但并不用到CvDTreeParams(单一决策树)所需的所有参数。比如说,R.T.通常不需要剪枝,因此剪枝参数就不被用到。max_depth 单棵树所可能达到的最大深度min_sample_cou转载 2012-11-22 20:11:56 · 1537 阅读 · 0 评论 -
OpenCV码源笔记——RandomTrees (二)(Forest) .
源码细节:●训练函数bool CvRTrees::train( const CvMat* _train_data, int _tflag, const CvMat* _responses, const CvMat* _var_idx, const转载 2012-11-22 20:12:34 · 1477 阅读 · 0 评论 -
OpenCV中的混合高斯算法原理
本文转自http://blog.youkuaiyun.com/carson2005/article/details/7737801申明:以下内容为笔者翻译自国际会议论文,鉴于本人水平有限,翻译难免有误,请大家多多包容。原文为:An Improved Adaptive Background Mixture Model for Real-time Tracking with Shadow Dete转载 2012-11-30 11:47:56 · 1094 阅读 · 0 评论 -
IplImage, CvMat, Mat 的关系
IplImage, CvMat, Mat 的关系opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。在opencv2转载 2012-12-28 11:23:35 · 835 阅读 · 0 评论 -
IplImage, CvMat, Mat 的关系和相互转换(转)
opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。在opencv2.0之前,opencv是完全用C实现的,但是,IplIm转载 2012-12-28 11:25:35 · 1530 阅读 · 2 评论 -
OpenCV获取与设置像素点的值的几个方法
本文转自http://tmjfzy.blog.163.com/blog/static/6644702520126157403724/ Title:OpenCV OpenCV像素值的获取与设置 Fn 1 :使用 Mat 中对矩阵元素的地址定位的知识 (参考博文:OpenCV中对Mat里面depth,dims,channels,step,data,elemS转载 2012-12-30 11:06:32 · 3227 阅读 · 0 评论 -
学习OpenCV——初始化视频第一帧 .
本文转自http://blog.youkuaiyun.com/sangni007/article/details/8112486在很多视频跟踪或分割中,总是需要初始化第一帧,即在第一帧上画一个框,或者标注前景与背景啊等等,今天就把初始化第一帧,在第一帧上画一个框的代码实现了一下,顺便复习一下OpenCV里面的鼠标召回事件,在此贴上代码,与大家分享,也方便以后查找。[cpp] view pl转载 2012-11-22 19:27:15 · 4031 阅读 · 0 评论 -
学习OpenCV——粒子滤波(网上两篇文章总结)
本文转自http://blog.youkuaiyun.com/sangni007/article/details/7616483粒子滤波的理论实在是太美妙了,用一组不同权重的随机状态来逼近复杂的概率密度函数。其再非线性、非高斯系统中具有优良的特性。opencv给出了一个实现,但是没有给出范例,学习过程中发现网络上也找不到。learning opencv一书中有介绍,但距离直接使用还是有些距离。在经转载 2012-11-22 19:55:33 · 1160 阅读 · 0 评论 -
windows下vs2008/2010+opencv2.2开发环境搭建 .
本文转自http://blog.youkuaiyun.com/moc062066/article/details/66265281.下载安装Cmake2.用cmake配置opencv2.2,然后编译,安装3. 在vs2008中配置opencv2.24.Demo1.下载安装Cmake 下载cmake有各种各样的方式,(1)官方网张,http://www.cmake.org/转载 2012-11-27 21:08:23 · 859 阅读 · 0 评论 -
基础学习笔记之opencv(1):opencv中facedetect例子浅析
本文转自http://www.cnblogs.com/tornadomeet/archive/2012/03/22/2411318.html基础学习笔记之opencv(1):opencv中facedetect例子浅析 人脸检测一种主流的方法就是类haar+adaboosting,opencv中也是用的这种方法。这种方法可以推广到刚性物体的检测,前提是要训练好级联分类器(比如说用转载 2012-12-03 14:48:38 · 7581 阅读 · 0 评论 -
opencv CvScalar解析 .
本文转自http://blog.youkuaiyun.com/yanzi1225627/article/details/7555200一句话:CvScalar就是一个包含四个元素的结构体变量。CvScalar定义可存放1—4个数值的数值,其结构如下。typedef struct CvScalar{ double val[4];}CvScalar;-------------转载 2012-12-17 09:12:31 · 1192 阅读 · 0 评论 -
基于opencv2.0的haar算法以人脸识别为例的训练分类器xml的方法 .
基于opencv2.0的haar算法以人脸识别为例的训练分类器xml的方法基于opencv2.0的算法第一步 采集样本 1、 将正负样本分别放在两个不同的文件夹下面 分别取名pos和neg,其中pos用来存放正样本图像,neg用来存放负样本 注意事项:1、正样本要统一切成24*24像素(或者转载 2012-11-17 11:46:58 · 1612 阅读 · 2 评论 -
OpenCV中的混合高斯算法原理 .
本文转自http://blog.youkuaiyun.com/xuhongwei0411/article/details/7863942An Improved Adaptive Background Mixture Model for Real-time Tracking with Shadow Detection; P.KaewTraKualPong,R.Bowden; In Proc. 2nd Eu转载 2012-11-22 19:36:14 · 1225 阅读 · 0 评论 -
OpenCV参考手册之Mat类详解2 .
本文转自http://blog.youkuaiyun.com/giantchen547792075/article/details/7169255Mat::~MatMat的析构函数。C++: Mat::~Mat()析构函数调用Mat::release()。Mat::operator =提供矩阵赋值操作。C++: Mat& Mat::operator=(const Mat& m)转载 2012-12-28 11:16:42 · 797 阅读 · 0 评论 -
OpenCV参考手册之Mat类详解1 .
本文转自http://blog.youkuaiyun.com/giantchen547792075/article/details/7061391类 Mat导言OpenCV c + + n 维稠密数组类类 CV_EXPORTS Mat{public:/ / … …很多的方法....../*!包括几位字段:-神奇的签名-连续性标志-深度(Note:应该是位深)转载 2012-12-28 11:15:02 · 1032 阅读 · 0 评论 -
Mat类中的rowRange和colRange的用法
最近一直在看一个算法,其中有用到opencv MAt类的rowRange函数,因为对opencv函数还不熟悉,于是测试了一下。测试代码如下:#include#include#includeusing namespace cv;using namespace std;int main(){ //初始化一个3*3的矩阵 Mat examples=(Mat_(3,原创 2013-01-15 22:56:17 · 24956 阅读 · 3 评论 -
解决Opencv高低版本不兼容问题
目前OpenCV版本已更新到2.4...由此出现了一系列问题,解决如下:1、cxcore.h等头文件找不到:法一、将opencv1.0中的各种.h或者.lib文件拷到opencv2.3.1对应include/library的路径的文件夹下。e.g. Cannot open include file: 'cxtypes.h': No such file or转载 2012-11-17 17:17:12 · 2924 阅读 · 0 评论 -
求帧差
本文转自http://blog.youkuaiyun.com/abcjennifer/article/details/6621986//********************************************************************** //@2011/7/21 10:05:21 //@Author: 钱建 & 张睿卿 //******转载 2012-11-22 09:23:26 · 764 阅读 · 0 评论 -
OpenCV码源笔记——Decision Tree决策树
本文转自http://blog.youkuaiyun.com/sangni007/article/details/7490852来自OpenCV2.3.1 sample/c/mushroom.cpp 1.首先读入agaricus-lepiota.data的训练样本。 样本中第一项是e或p代表有毒或无毒的标志位;其他是特征,可以把每个样本看做一个特征向量; cvSeqPush( se转载 2012-11-22 20:08:24 · 5120 阅读 · 0 评论