opencv
VideoMonitor
这个作者很懒,什么都没留下…
展开
-
OpenCV深入学习(3)--opencv中测量运行时间的函数
最开始的C接口中的是 cvGetTickCount()和 cvGetTickFrequency(),在程序段的开始和结束时两次使用cvGetTickCount(),然后将两次的差除以cvGetTickFrequency()后就可以获得程序段的以微秒us为单位的运行时间,不是很精确但是一般足够了。 到了2.x之后在命名空间cv中又多了几个函数,getTickCount(),get原创 2012-08-02 10:36:46 · 873 阅读 · 0 评论 -
SIFT算法分析
特征提取在CV(computervision)领域非常重要。SIFT是非常出名的特征提取算法,它来自论文IJCV'04的“Distinctive imagefeatures from scale-invariantkeypoints”,在scholar.google.com上查到的引用次数一万多次,很高了!我准备在这个帖子里,根据这篇论文和SIFT算法的一个开源实现,详细描述SIFT算法。本文转载 2012-08-10 10:57:33 · 754 阅读 · 0 评论 -
YUV详解
YUV开放分类:程序编辑词条分享YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属於PAL)。编辑摘要目录1 概述2 优点作用3 公式4 采样格式5 各种YUV格式YUV -概述YUV在现代彩色电视系统中,通常采用三管彩色摄影机或彩色CCD摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到原创 2012-08-13 14:35:57 · 664 阅读 · 0 评论 -
opencv中mat,cvmat,Iplimage结构体定义以及格式互相转换
opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。在opencv2.0之前,opencv是完全用C实现的,但是,IplIm原创 2012-08-13 14:56:47 · 842 阅读 · 0 评论 -
PN学习
PN学习即PN learning, P指代Positive Constraint,也称之为P-expert或者growing event,N指代Negative Constraint,也称之为N-expert或者pruning event。P-expert的作用是发现目标的新的外观(形变),并以此来增加正样本的数量,从而使得检测模块更具鲁棒性;N-expert的作用是生成负的训练样本。N-转载 2012-08-14 10:47:14 · 325 阅读 · 0 评论 -
OpenCV中的混合高斯算法原理
An Improved Adaptive Background Mixture Model for Real-time Tracking with Shadow Detection; P.KaewTraKualPong,R.Bowden; In Proc. 2nd European Workshop on Advanced Video Based Surveillance Systems,AVB转载 2012-08-14 11:19:08 · 748 阅读 · 0 评论 -
CUDA简介
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像渲染和计算以外的目的(例如这里提到的通用并行计算)。CUDA即Compute Unified Device Architecture,是NVidia利用GPU平台进行通用并行计算的一种架构,它包含了CUDA指令集架转载 2012-08-14 10:53:56 · 325 阅读 · 0 评论 -
图像傅里叶变换的物理意义
1、为什么要进行傅里叶变换,其物理意义是什么?傅立叶变换是数字信号处理领域一种很重要的算法。要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义。傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。和傅立叶变换算法对应的是反傅立叶变换算法。原创 2012-08-14 16:29:19 · 449 阅读 · 0 评论 -
Opencv 图像叠加 添加水印
C++: void Mat::copyTo(OutputArray m) constC++: void Mat::copyTo(OutputArray m, InputArray mask) const这个函数可以复制图像到另一个图像或矩阵上,可选参数是掩码由于叠加的图像大小不一定相等,比如我们这里把一张小照片加到一张大照片上我们可以在大照片上设置一个和小照片一样大的感兴趣区域不使用掩码的时候原创 2012-08-01 13:50:34 · 1203 阅读 · 0 评论 -
计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接---个人整理
以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV领域的paper,代码,CV领域的最新动态,国内的应用情况等等。打算从事这个行业或者刚入门的朋友可以多关注这些网站,多了解一些CV的具体应用。搞研究的朋友也可以从中了解到很多牛人的研究动态、招生情况等。总之,我认为,知识只有分享才能产生更大的价值,真诚希望下面原创 2012-08-01 16:06:59 · 5647 阅读 · 0 评论 -
OPENCV中CASCADE的生成
在网上找了很多有关于OPENCV生成CASCADE的文章,大多数都来自同一篇文章,但文章有些老而且不好用我在一个CASCADE2XML程序中找到了其自述文档,写的相当细致,我将其翻译过来,希望后来人能够看到少走弯路另外,现在的OPENCV是1.1pre版已经不存在生成的CASCADE转换为XML文件的问题了,这个问题可以忽略致意这个小文档告诉你怎样去建立自己的层级训练集。假原创 2012-08-01 14:29:53 · 1938 阅读 · 0 评论 -
LBP算法分析
LBP是一种简单,有效的纹理分类的特征提取算法。主要的论文是"Multiresolution gray-scale androtation invariant texture classification with local binarypatterns", pami, vol 24, no.7, July 2002。LBP就是"local binarypattern"的缩写。从纹理原创 2012-08-10 10:42:30 · 1170 阅读 · 0 评论 -
Surf——算法原理
Surf算法是对Sift算法的一种改进,主要是在算法的执行效率上,比Sift算法来讲运行更快!1、算法原理;2、源码简析;3、OpenCV中Demo分析;4、一些关于Surf算法的剖析。Surf算法原理:参考资料:Surf算法论文及实现源码作为尺度不变特征变换算法(Sift算法)的加速版,Surf算法在适中的条件下完成两幅图像中物体的匹配基本实现了实时处理,其快速的基础实际上只有一原创 2012-08-09 10:03:57 · 11469 阅读 · 2 评论 -
opencv源码解析:GaussianBlur()
这一节来真正进入opencv的源码分析中,本次分析的函数是GaussianBlur(),即高斯滤波函数。在前前面博文《opencv源码解析之滤波前言2》:http://www.cnblogs.com/tornadomeet/archive/2012/03/05/2379921.html 中已经阐述了这个函数的用法,即: 其函数声明为: void GaussianBlur(I原创 2012-08-08 16:18:38 · 1807 阅读 · 0 评论 -
学习OpenCV——行人识别&人脸识别(总算运行出来了)
之前运行haar特征的adaboost算法人脸检测一直出错,加上今天的HOG&SVM行人检测程序,一直报错。今天总算发现自己犯了多么白痴的错误——是因为外部依赖项lib文件没有添加完整,想一头囊死啊做程序一定要心如止水!!! 仔细查找!!! 1.人脸识别程序:[cpp] view plaincopyprint?#include "cv.h" #incl原创 2012-08-02 11:00:27 · 1947 阅读 · 0 评论 -
openCV,一些问题
openCV,C++接口,PCA: PCA是高维数据线性降维的一个常用算法,在openCV的较早版本里面,已经有C版本的集成。在openCV更新的版本发布后,其中集成的PCA算法也有了C++接口。 PCAC++接口的使用,可以参见链接。视频读取、写入解码器: openCV 2.3.1 中有一个宏CV_FOURCC,给定适当的参数,就设置对应的视频解码器,有如原创 2012-08-01 14:03:09 · 1649 阅读 · 2 评论 -
OpenCV中特征点提取和匹配的通用方法
OpenCV在新版本中把很多C语言的代码都重新整理成了C++代码,让我们在使用的时候更加方便灵活。其中对于特征点的提取和匹配,充分体现了C++的强大。下面直接用例子来说明。假设我们有两幅图:1.bmp和2.bmp,要从中提取体征点并匹配,代码如下: // Load image from fileIplImage *pLeftImage = cvLoadImage("1.bm原创 2012-08-01 14:28:04 · 1298 阅读 · 0 评论 -
使用opencv2.4.0必读部分
使用最新版的opencv2.4.0的同行们,在使用之前最好先读一下它的新功能说明,里面还是有很多变化的,包括一些头文件的使用。 New functionality¶The new very base cv::Algorithm class has been introduced. It's planned to be the base of all the "non-trivial原创 2012-08-01 14:29:03 · 597 阅读 · 0 评论 -
基于opencv2.0的haar算法以人脸识别为例的训练分类器xml的方法
第一步 采集样本 1、 将正负样本分别放在两个不同的文件夹下面 分别取名pos和neg,其中pos用来存放正样本图像,neg用来存放负样本 注意事项:1、正样本要统一切成24*24像素(或者其他)的格式,建议保存成灰度图,节省空间 2、正样本的数目越多,训练的时间也将越长,训练出来的效果也就原创 2012-08-01 14:55:27 · 2281 阅读 · 2 评论 -
OpenCV HOGDescriptor 参数图解
最近要做图像特征提取,可能要用下HOG特征,所以研究了下OpenCV的HOG描述子。OpenCV中的HOG特征提取功能使用了HOGDescriptor这个类来进行封装,其中也有现成的行人检测的接口。然而,无论是OpenCV官方说明文档还是各个中英文网站目前都没有这个类的使用说明,所以在这里把研究的部分心得分享一下。 首先我们进入HOGDescriptor所在的头文件,看看它的构造函数原创 2012-08-02 13:59:30 · 584 阅读 · 0 评论 -
比微软kinect更强的视频跟踪算法--TLD跟踪算法介绍 .
TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统的检测算法相结合来解决被跟踪目标在被跟踪过程中发生的形变、部分遮挡等问题。同时,通过一种改进的在线学习机制不断更新跟踪模块的“显著特征点”和检测模块的目原创 2012-08-03 09:03:43 · 797 阅读 · 0 评论 -
yuv转opencv中的IplImage
第一个是很笨的办法:yuv三个分量分别写在3个矩阵下,然后合并之后转换为rgb分量的图片格式就可以了;代码如下:[html] view plaincopyIplImage *image,*rgbimg,*yimg,*uimg,*vimg,*uuimg,*vvimg; rgbimg = cvCreateImage(cvSize(nWidth,原创 2012-08-03 08:16:46 · 1204 阅读 · 0 评论 -
OpenCV-OpenCV中的内存泄露问题(cvLoadImage,cvCloneImage)
cvCloneImage与cvCloneMat是在赋值的同时会开辟一个新的空间给定义的变量,cvCopyImage与cvCopyMat只复制值,并不会分配一个空间给赋值对象,因此cvCloneImage与cvCloneMat只适合用于变量开始定义,千万不要用在算法处理中间,否则会产生一个新的地址空间,会将赋值对象的指针地址改变,这样会导致整个程序有不可预测的错误发生,最明显的就是你本来想把子函数中原创 2012-08-03 16:20:42 · 586 阅读 · 0 评论 -
OPENCV中混合高斯背景模型的实现
混合高斯背景模型理论的论文:点击下载////////////////////////cvCreateGaussianBGModel///////////////////////////////////////////CV_IMPL CvBGStatModel *cvCreateGaussianBGModel( IplImage*first_frame,CvGaussBGStatModelP原创 2012-08-06 09:29:21 · 466 阅读 · 0 评论 -
OpenCV使用VideoInput库从摄像头捕获视频
OpenCV具有强大的图像处理功能,处理视频也是毫不逊色。只是其自带的HighGUI并非是具有工业强度的模块,不适合最终提供给客户,仅仅是方便程序开发阶段的调试。其中跟视频捕获相关的cvCreateCameraCapture或cvCaptureFromCAM函数可以方便的从摄像头捕获视频,但这两个函数在Windows中都是由较为低效的VFW机制实现的,不适合在最终产品中使用。在Window原创 2013-03-12 13:36:13 · 668 阅读 · 0 评论