
OpenCV基础学习系列
Armily
Make it,and do my best
展开
-
OpenCV学习之CvMat的用法详解及实例
OpenCV学习之CvMat的用法详解及实例目 录1.初始化矩阵:. 12.IplImage 到cvMat的转换. 13.cvArr(IplImage或者cvMat)转化为cvMat 14.图像直接操作. 25.cvMat的直接操作. 36.间接访问cvMat 47.修改矩阵的形状——cvReshape的操作. 58.计算色彩距离.转载 2012-12-16 21:24:57 · 1569 阅读 · 0 评论 -
Opencv中将视频保存为连续的图片和连续的图片保存为视频
转自:http://blog.sina.com.cn/s/blog_6111ce890100q3i0.html一直觉得Opencv是个很实用的很伟大的东西,很多功能总是能够在不经意间实现,下面就将AVI视频每一帧保存为图片(.jpg,.bmp),和连续图片保存为视频来演示一下: 直接贴代码,只要学了Opencv一个星期的,绝对看的懂了:#include #include #转载 2013-01-16 11:01:51 · 2289 阅读 · 0 评论 -
Opencv 学习笔记--错误记录
最近做实时行人检测,用的Opencv中的行人检测例子稍微修改下,很快有了点结果。上面跟我要一个检测结果的视频,我想要用程序保存结果视频,也就是对每一帧的处理完之后保存到输出视频文件中,然后直接打开保存的那个视频就可以直接观看结果了。 OpenCV中保存图像到视频的方法是用cvCreateVideoWriter和cvWriteFrame这两个函数来实现。于是在适当的地方加入这两个函数转载 2013-01-16 15:36:25 · 1156 阅读 · 0 评论 -
OpenCV c接口与c++接口
出自www.opencvchina.comOpencv 从c到c++ Opencv2.0版本发布后,其新的C++接口,cv::Mat代替了原来c风格的CvMat和IplImage.目前,2.0版本对c的接口也是支持的。相对于c的接口,c++的cv::Mat统一了矩阵和图像这两个概念。事实上,矩阵和图像其实是一样的。由于cv::Mat是c++的类,所以也具备了相关的一些特征。例如,内转载 2013-01-17 10:47:02 · 2191 阅读 · 0 评论 -
让程序可以脱离opencv,vs等开发环境运
转自:http://www.opencvchina.com/thread-1658-1-2.html 我们在做项目时,通常需要把依赖于opencv,vs(例如vs2005),或者vc(例如vc6.0)的程序,在没有安装相关环境的电脑上去运行。那么现在有哪些方法可以摆脱这些依赖? 在没有安装OpenCV的电脑上,要运行基于OpenCV库的程序,有两种方法:一转载 2013-03-13 12:09:14 · 2203 阅读 · 0 评论 -
OpenCV中的内存泄漏检测
内存泄漏时程序开发中经常遇到的问题. 而且出现内存泄漏很难检测,但是其导致的结果却是灾难性的. 这里讲一下opencv中内存泄漏检测的一些技巧.OpenCV中关于内存管理主要涉及到以下3个函数:代码: 全选 CV_IMPL void cvSetMemoryManager( CvAllocFunc alloc_func, CvFreeFunc free_func, void转载 2013-04-02 10:50:55 · 1312 阅读 · 0 评论 -
OpenCV中将BGR图像转为HSV,并显示
最近要处理视频中检测到的阴影,看了一些文章,提到可以利用HSV 三个通道中的一个或者两个组合来进行检测与分割,故小试了一下分离HSV通道,如下为代码,整了一个小时,才显示正确。 HSV颜色空间是描述比RGB更准确的颜色感知颜色联系,并在计算上更简单。从RGB颜色空间转换到HSV颜色空间在OpenCV中是如下实现的: 其中的RGB图原创 2013-04-14 10:45:10 · 6273 阅读 · 0 评论 -
图像形态学 - 自适应阈值(cvAdaptiveThreshold)
自适应阈值:是一种改进了的阈值技术,其中阈值本身是一个变量,自适应阈值T(x,y)的每个像素点都不同,通过计算像素点周围的b*b区域的加权平均,然后减去一个常数来得到自适应阈值。 cvAdaptiveThreshold方法:Provides adaptive thresholding binary image.void cvAdaptiveThreshold( Ip转载 2013-04-18 10:28:24 · 2096 阅读 · 0 评论 -
OpenCV2.4.3新鲜出炉
转自:http://blog.youkuaiyun.com/sangni007/article/details/8160678OPENCV2.4.3终于发布了,距上次发布已经4个月了,相比之前提升灰常之大。下载地址为:OpenCV-2.4.3.exe OpenCV2.4.3增加了许多新特性,变得更加NB了,主要参考:http://code.opencv.org/projects/opencv/转载 2013-04-27 08:35:29 · 1684 阅读 · 0 评论 -
OpenCV学习笔记——随机数产生器RNG
转自:http://blog.youkuaiyun.com/yang_xian521/article/details/6931385 用OpenCV做算法的朋友们肯定为随机数烦恼过,新版本一直支持随机数产生器啦,而且还继续支持之前版本的c格式的函数,不过与时俱进,我这里介绍C++的RNG类。它可以压缩一个64位的i整数并可以得到scalar和array的随机数。目前的版本支持均匀分布随机数和Gauss转载 2013-04-19 17:50:09 · 1273 阅读 · 0 评论 -
OpenCV —图像像素操作(C++结构)
转自:http://blog.youkuaiyun.com/a390641326/article/details/8686501//因为本人接触OpenCV时已经出2.4.3版本了(写这笔记时已经更新到2.4.4),所以直接学习2版本的方法,既然更新使用C++,添加类,必然是为了使用更方便//而且C++类结构,不必过多担心分配的内存,类析构时会释放相应内存空间//因此关于1.0之前C接口的方式就不关注了,转载 2013-05-16 12:26:57 · 2422 阅读 · 0 评论 -
小工具--OpenCV图像集做成视频
做数字图像处理研究时,很多情况下,我们从专业网站上得到的是同一个场景下连续的图片,但是我们要求的测试数据可能是视频文件。怎么办?其实我们可以从视频集生成视频文件。同样的道理,我们手头上有视频文件,也可以从视频文件提取一帧一帧的图像(这将这我下一篇的博文中提到)。很久以前的做的小工具了,使用起来比较方便,分享给大家。 假设我们在E盘下的images文件夹下有图像名称为frame_0000到转载 2013-05-04 17:02:48 · 995 阅读 · 0 评论 -
c++版本的高斯混合模型的源代码完全注释
之前看到过C版本的,感觉写的很长,没有仔细看,但是C++版本的写的还是很不错的。我仔细看了一下,并对内容进行了仔细的注释,如果有人没有看懂,欢迎留言讨论。先看一眼头文件,在background_segm.hpp中class CV_EXPORTS_W BackgroundSubtractorMOG : public BackgroundSubtractor{public: //转载 2013-05-09 22:26:06 · 2499 阅读 · 3 评论 -
OpenCV2.4.3的新特征以及安装方法
OpenCV2.4.3的新特征: 在经过4个月的等待后,OpenCV又发布了新版本了,此时的最新版本为OpenCV2.4.3,下载地址为:OpenCV-2.4.3.exe。 下面来看看opencv2.4.3有了哪些新变化,主要是参考网页http://code.opencv.org/projects/opencv/wiki/ChangeLog上面介绍的,稍加翻译了一些,因为对有些专有名词转载 2013-05-14 09:48:12 · 2433 阅读 · 0 评论 -
OpenCV中一个连通域处理函数
作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处。连通域处理函数的原型: void ConnectedComponents(Mat &mask_process, int poly1_hull0, float perimScale, int number = 0, Rect &boun转载 2013-05-14 10:03:26 · 2783 阅读 · 0 评论 -
四大图像库OpenCV/FreeImage/CImg/CxImage简述
转自:http://blog.sina.com.cn/s/blog_65e27be30100ido4.html(非原处) 1.对OpenCV 的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法;然后将图像格式和矩阵运算,然后将各个算法的实现函数。我用它来做了一个Harris角点检转载 2013-01-26 10:18:23 · 1087 阅读 · 0 评论 -
【OpenCV学习】抠图
#include "cv.h"#include "highgui.h"#include CvPoint prev_pt={-1,-1} ;CvPoint pt_beg={-1,-1},pt_end = {-1,-1};CvPoint pt1={-1,-1},pt2={-1,-1};CvRect rect;IplImage *src;IplImage *tmp;转载 2013-01-23 16:12:09 · 2611 阅读 · 0 评论 -
OpenCV参考手册之Mat类详解1
OpenCV C++ n 维稠密数组类类 CV_EXPORTS Mat{public:/ / … …很多的方法......int flags;(Note :目前还不知道flags做什么用的) //!数组的维数,> = 2int dims ; //!行和列的数量或 (-1,-1) 此时数组已超过 2 维int ro转载 2012-12-13 15:23:12 · 806 阅读 · 0 评论 -
运动目标跟踪之kalman滤波
转自:http://blog.youkuaiyun.com/lindazhou2005/article/details/15342341、 什么是卡尔曼滤波器(What is the Kalman Filter?)在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人!卡尔曼全名Rudol转载 2012-12-13 15:29:21 · 4389 阅读 · 0 评论 -
OpenCV中Mat数据结构使用举例
#include "stdafx.h"#include #include #include using namespace std;using namespace cv;int _tmain(int argc, _TCHAR* argv[]){//创建一个用1+3j填充的 7 x 7 复矩阵-----1Mat M(7, 7, CV_32FC2,转载 2012-12-13 15:25:50 · 841 阅读 · 0 评论 -
OpenCV参考手册之Mat类详解
转自 http://www.opencvchina.com/thread-1039-1-1.html目标 我们有多种方法可以获得从现实世界的数字图像:数码相机、扫描仪、计算机体层摄影或磁共振成像就是其中的几种。在每种情况下我们(人类)看到了什么是图像。但是,转换图像到我们的数字设备时我们的记录是图像的每个点的数值。 例如在上图中你可以看到车的镜子只是一个包含转载 2012-12-13 15:44:38 · 2356 阅读 · 0 评论 -
学习OpenCV——HOG
转自http://hi.baidu.com/icekeydnet/blog/item/4555173d265e9aea3b87ce67.html hog是一个基于梯度的直方图提取算法,用于人体检测十分有效。在opencv2.2+版本里面已经实现。封装在HOGDescriptor类里。hog其实就是对一副图片的指定大小区域进行梯度统计。可以直接调用。opencv把它过于复杂化了,用的转载 2012-12-14 09:49:13 · 1625 阅读 · 0 评论 -
学习OpenCV——SVM
学习SVM,首先通过http://zh.wikipedia.org/wiki/SVM,再通过博客http://blog.youkuaiyun.com/yang_xian521/article/details/6969904OpenCV开发SVM算法是基于LibSVM软件包开发的,LibSVM是台湾大学林智仁(Lin Chih-Jen)等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件转载 2012-12-14 09:49:27 · 3098 阅读 · 0 评论 -
Mat
最近学习图像处理,由于刚刚开始接触OpenCV,对其数据结构以及数据类型不甚了解,又因时间有限,只能现学现用,Mat的了解汇总如下: Mat类的对象用于表示一个多维度的单通道或者多通道稠密数组,它可以用来存储以下东西) a、实数值或复合值向量、矩阵 b、灰度图或者彩色图 c、立体元素原创 2012-12-29 16:28:56 · 974 阅读 · 0 评论 -
OpenCV学习笔记之图像视频显示
OpenCV开发包分五个模块,其中,HighGUI包含图像和视频的输入输出函数。接下来主要讲这部分内容。首先,图像和视频的现实需要创建一个窗口cvNamedWindow(“Window Title”,WINDOW_SIZE);第一个参数是窗口的标题,第二个参数是窗口的属性,可以被设置为0或者CV_WINDOW_AUTOSIZE,前者是说窗口固定大小,而后者窗口会根据图像的实际大小自转载 2013-01-23 15:10:27 · 1083 阅读 · 0 评论 -
OpenCV 编程入门
美国伊力诺理工学院计算机科学系Gady Adam翻译:Mensch2006年11月22日 内容简介OpenCV概述资料链接OpenCV 命名约定编译命令C程序实例GUI 命令窗口管理输入设备OpenCV 基础数据结构图像数据结构矩阵与向量其他数据结构图像处理转载 2013-01-23 11:10:05 · 1354 阅读 · 0 评论 -
学习Opencv与MFC混合编程之---为播放AVI视频添加滑动条
源代码地址:http://download.youkuaiyun.com/detail/nuptboyzhb/3961642版本1.0.2新增内容Ø 全局变量和函数的添加:在CVMFCview.cpp文件中增加全局变量和全局函数//-----------------全局变量和函数---------------------------------------int g_slider_pos转载 2013-01-23 16:11:13 · 1665 阅读 · 0 评论 -
内存问题引发的探讨
今天运行了一个程序,想要实现的是一个model文件的格式转换,程序运行出错,如下图所示: 大致能猜出是double *changeModel变量的问题,经求证后,有人指出是内存问题,可以考虑下标越界等异常,同时还介绍了一些调试方法如下: (1)慢慢注释掉一些代码,进行测试。如果注释掉某段代码,错误不再出现,则定位成功。(二分法定位错误) (2)二分法介绍:原创 2013-01-08 11:24:03 · 761 阅读 · 0 评论 -
CvMat程序调试出错
这几天在写一个程序,存储矩阵的时候,出现了错误,由于编程太菜,平常又没有系统学习,对于Mat矩阵的操作,还真的不是很了解,问题如下: for( int i=0;i { CV_MAT_ELEM( *posFeatureMat,float,0,i) = descriptors[i] ; //CV_MAT_ELEM原创 2013-01-08 11:52:44 · 1175 阅读 · 0 评论 -
opencv用SVM进行多类分类
最近遇到一个多分类的问题,在网上查了些有关SVM的资料,这篇日志是来自:http://wenku.baidu.com/view/81c3e210f18583d0496459f0.html 自己写代码实现了下,感觉很好使,作为一个学习的例子,放在自己的博客里,供以后查阅使用。 #include "stdafx.h"#include "cv.h"#include "h转载 2013-05-14 21:37:29 · 3131 阅读 · 0 评论