CV相关
文章平均质量分 58
ChenLee_1
这个作者很懒,什么都没留下…
展开
-
关于main函数中argc和argv的简单介绍
一般来说,刚开始学习写程序的人员经常会碰到如下形式的main函数,int main(int argc, char** argv)或者int main(int argc, char* argv[]),或者void main(int argc, char** argv)或者void main(int argc, char* argv[]),细心点的初学者一定会发现,这里的main函数,有两个输入参数,argc和argv。下面我就来简单介绍一下这里argc和argv的含义。其实,这里的argc是argument原创 2010-07-26 12:12:00 · 10658 阅读 · 6 评论 -
计算机视觉简介
计算机视觉是使用计算机(包括PC及嵌入式平台)和成像设备对生物视觉的一种模拟。它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景的二维或者三维信息,从而使得计算机得以像人那样“看”到事物,理解事物,甚至,根据其对事物的理解,做出一定的反应。计算机视觉的最终研究目标就是使计算机能象人那样通过视觉观察和理解世界,具有自主适应环境的能力。要经过长期的努力才能达到的目标。因此,在实现最终目标以前,人们努力的中期目标是建立一种视觉系统,这个系统能依据视觉敏感和反馈的某种程度的智能完成一定的任务。原创 2010-08-20 08:46:00 · 6709 阅读 · 0 评论 -
opencv是什么
OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库. 无论你是做科学研究,还是商业应用,opencv都可以作为你理想的工具库,因为,对于这两者,它完全是免费的。该库采用C及C++语言编写,可以在windows, linux, mac OSX系统上面运行。该库的所有代码都经过优化,计算效率很高,因为,它更专注于设计成为一种用于实时系统的开源库。opencv采用C语言进行优化,而且,在多核机器上面,其运行速度会更快。它的一个目标是提供友好的机器视觉接口函数,从而使得复杂的机器原创 2010-08-18 20:22:00 · 130431 阅读 · 26 评论 -
国内人脸识别研究现状
最近几年,在国内掀起了一股图像处理、分析、识别的热潮,而其中的车牌识别和人脸识别无疑是其中的研究热潮。本人没有做过车牌识别的项目,不便叙述,不过,倒是可以跟大家聊聊最近几年国内在人脸识别领域的一些发展情况。 广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括图像采集,人脸定位,预处理,人脸特征提取,模式分类、判决识别等等。当然,还包括相应的摄像机,摄像头等光学设备,以及PC,DSP,ARM等计算平台。毋庸置疑的是,在这当中,基于图像的智能分析(包括人脸定位,预处理,特征提取,模式分类,判决识别扥)原创 2010-08-21 23:56:00 · 24842 阅读 · 14 评论 -
BMP格式介绍
BMP图片格式;BMP图片,是Bitmap(位图)的简称,它是windows显示图片的基本格式。在windows下,任何格式的图片文件(包括视频播放)都要转化为位图才能显示出来。各种格式的图片文件也都是在位图格式的基础上采用不同的压缩算法生成的。位图文件主要分为如下3个部分:块名称对应Windows结构体定义大小(Byte)文件信息头BITMAPFILEHEADER14位图信息头BITMAPINFOHEADER40RGB颜色阵列BYTE*由图像长宽尺寸决定(1)文件信息头BITMAPFILEHEADER结构原创 2011-03-06 15:20:00 · 19443 阅读 · 8 评论 -
OpenCV与相机的关系
经常碰到朋友,尤其是计算机视觉初学者朋友问到我关于OpenCV怎么获取图片,怎么把OpenCV跟相机结合起来这一类的问题。本人不才,不过,在平时的工作中,都接触到这方面,今天特意发文章给有些朋友们解惑一下。 我们做视频分析或者说监控行业用的相机,一般来说,有两种:(1)模拟相机;(2)数字相机; 模拟相机,输出的是模拟信号,也就是电压的高低信号。这种相机,现在用在很多的监控场合,例如在银行,当你坐在柜台前的时候,你的头顶上一般会有一个相机对着你的,据笔者观察,其中的大部分,目前都原创 2011-03-12 15:24:00 · 26814 阅读 · 56 评论 -
自己整理的计算机视觉领域稍微容易中的期刊(第一版)
模式识别,计算机视觉领域,期刊(1)pattern recognition letters, 从投稿到发表,一年半时间(2)Pattern recognition 不好中,时间长(3)IEICE Transactions on Information and Systems, 作者中有一个必须是会员。收费高,审稿快。影响因子0.4(4)International Journal of Pattern Recognition and Artificial Intelligence , 审稿周期一般6--12周原创 2011-03-31 21:32:00 · 131248 阅读 · 36 评论 -
遍历读取指定文件夹下指定类型的所有文件
经常碰到朋友,尤其是初学者对指定文件夹下指定类型文件的读取很困惑,这里,我把自己经常用的程序贴出来,供初学者学些;#include "stdafx.h"#include "windows.h"#include #include #include "iostream"using namespace std;typedef std::vector file_lists;static int str_compare(const void *arg1, const void *arg2){ return原创 2011-03-31 21:21:00 · 8417 阅读 · 16 评论 -
AVI格式
AVI是Audio Video Interleave(音频视频交错)的简称,它是1992年微软提出的一种多媒体文件格式,最初用于对抗Apple公司的Quicktime技术,不过,如今的AVI格式一般指代一种文件封装格式。 AVI格式的文件对视频数据采用了有损压缩,压缩比较高,因此画面质量一般不好,不过,这并不影响其使用的广泛性。需要注意的是,AVI格式文件的缺点是体积庞大,而且更为糟糕的是压缩标准不统一,最普遍的现象就是高版本Windows媒体播放器播放不了采用早期编码编辑的AVI格式视频,原创 2011-04-10 21:13:00 · 14614 阅读 · 4 评论 -
VC维
<br /> 为了研究函数集在经验风险最小化原则下的学习一致性问题和一致性收敛的速度,统计学习理论定义了一系列有关函数集学习性能的指标,它们包括:随机熵、VC熵、退火的VC熵、生长函数、VC维等。尽管随机熵、VC熵、退火的VC熵、生长函数等在统计学习理论的发展过程中起到了一定的作用,但由于这些理论距离实际应用尚有一定的距离,后来逐渐被VC维渐渐取代。<br />VC维对于一个指示函数集来说,如果其生长函数是线性的,则它的VC维为无穷大;而如果它的生长函数以参数为h的对数函数为上界,则函数集的VC维是有原创 2011-05-29 15:36:00 · 12245 阅读 · 1 评论 -
结构风险最小化
传统机器学习方法中普遍采用的经验风险最小化原则在样本数目有限是是不合理的,因为我们需要同时最小化经验风险和置信范围。事实上,在传统的方法中,我们选择学习模型和算法的过程,就是优化置信范围的过程,如果选择的模型比较适合现有的训练样本(h/n值适当),则可以取得比较好的效果。比如在神经网络中,需要根据问题和样本的具体情况来选择不同的网络结构(对应于不同的VC维),然后进行经验风险最小化。在模式识别问题中,选定了一种分类器形式,就确定了学习机器的VC维。实际上,这种做法就是首先通过选择模型来确定置信范围,然后固定原创 2011-05-29 16:54:00 · 11517 阅读 · 0 评论 -
模式识别的一些基本概念
模式识别诞生于20实际20年代,随着40年代计算机的出现,50年代人工智能的兴起,模式识别在60年代初迅速发展成为一门学科。简单点说,模式识别是根据输入的原始数据对齐进行各种分析判断,从而得到其类别属性,特征判断的过程。为了具备这种能力,人类在过去的几千万年里,通过对大量事物的认知和理解,逐步进化出了高度复杂的神经和认知系统。举例来说,我们能够轻易的判别出哪个是钥匙、哪个是锁,哪个是自行车、哪个是摩托车;而这些看似简单的过程,其背后实际上隐藏着非常复杂的处理机制。而弄清楚这些机制的作用机理正是模式识原创 2011-04-12 21:46:00 · 10871 阅读 · 7 评论 -
开源SVM库libSVM介绍
libSVM是台湾大学林智仁教授等研究人员开发的一个用于支持向量机分类,回归分析及分布估计的c/c++开源库。另外,它也可以用于解决多类分类问题。 libSVM最新的版本是2011年4月发布的3.1版。林智仁教授设计开发该SVM库的目的是为了让其它非专业人士可以更加方便快捷的使用SVM这个统计学习工具。libSVM提供了一些简单易用的接口,从而使得用户可以方便的使用,而不必关心其内部复杂的原创 2011-06-05 17:19:00 · 14517 阅读 · 4 评论 -
计算机视觉的定义及其应用
计算机视觉(Computer Vision, CV)是一门研究如何让计算机达到人类那样“看”的学科。更准确点说,它是利用摄像机和电脑代替人眼使得计算机拥有类似于人类的那种对目标进行分割、分类、识别、跟踪、判别决策的功能。作为一个新兴学科,计算机视觉是通过对相关的理论和技术进行研究,从而试图建立从图像或多维数据中获取“信息”的人工智能系统。 它是一门综合性的科学技术,主要包括计算机科学与工程、信号处理、物理学、应用数学与统计、神经生理学和认知科学等。 目前,计算机视觉技术已经应用在制造业、原创 2011-04-16 14:24:00 · 11667 阅读 · 0 评论 -
数字图像处理的定义
数字图像处理方法的研究源于两个主要应用领域:(1)为了便于人们分析而对图像信息进行改进;(2)为了使机器具有类似于人类的分析和理解图像的能力而进行的各种分析和研究;一幅图像可以定义为一个二维函数f(x,y),这里,x和y是空间坐标。在任何一个空间坐标(x,y)上的幅值f称为图像在该点的强度或者灰度。当x,y,f为有限的、离散的数值时,称其为图像。简单点说,数字图像是由有限的元素组成的,每一个元原创 2011-06-08 20:27:00 · 5680 阅读 · 1 评论 -
windows中遍历指定文件夹下的所有子文件夹
前面我给出了windows下面指定文件夹下面指定类型文件的遍历函数,这里,再给出指定文件夹下的所有子文件夹的程序:#include "stdafx.h"#include #include #include #include "iostream"using namespace std;int GetSubFolders(string& folder, vector& subFolders ){ subFolders.clear(); WIN32_FIND_DATAA fileFindData; s原创 2011-04-16 11:44:00 · 2870 阅读 · 0 评论 -
libSVM介绍(二)
鉴于libSVM中的readme文件有点长,而且,都是采用英文书写,这里,我把其中重要的内容提炼出来,并给出相应的例子来说明其用法,大家可以直接参考我的代码来调用libSVM库。第一部分,利用libSVM自带的简易工具来演示SVM的两类分类过程。(以下内容只是利用libSVM自带的一个简易的工具供大家更好的理解SVM,如果你对SVM已经有了一定的了解,可以直接跳过这部分内容)首原创 2011-06-12 11:27:00 · 47052 阅读 · 24 评论 -
libSVM应用举例
前面提到,很多人看到libSVM这么多的参数,估计要犯晕了。没关系,我之前把相关的libSVM参数已经讲解了一遍,这里,再给出libSVM的用法。如果你不想花时间去仔细研究libSVM,完全可以参照我的函数来直接调用libSVM完成你的工作。 首先是训练SVM得到模型;假设,有10个训练样本,每个训练样本,有12个特征值,即:每个训练样本的维数是12,也就是说,训练原创 2011-06-12 11:50:00 · 16848 阅读 · 27 评论 -
计算机视觉的最高境界-机器人
一直在写计算机视觉方面的博客,估计有人都烦了,从来都没见有啥具体的应用。别着急,今天我还真找到一个,Prof.Gary Bradski(OpenCV开山鼻祖,opencv learning的作者)领导的Willow Garage机器人研究小组,一直在做家庭,生活方面应用的机器人。他们的主页是:http://www.willowgarage.com,目前他们的机器人,已经可以完成一些简单的动作。例如原创 2011-06-08 19:40:00 · 4372 阅读 · 2 评论 -
OpenCV的SVM用法
在OpenCV当中,SVM是作为一个类来定义接口的,其定义略显复杂。不过,如果你对libSVM比较了解,就会发现,OpenCV的SVM接口与libSVM的接口非常接近。下面,我还利用前面介绍libSVM用法时的数据,通过一个简单的例子程序来介绍OpenCV的SVM模块函数的用法。// OpencvSVM.cpp : Defines the entry point for the conso原创 2011-06-15 22:31:00 · 30035 阅读 · 3 评论 -
XVID的前世今生
XVID是一个开源的MPEG-4视频压缩解压算法库。它的发展壮大,还有一段触目惊心的过程。下面,我将为大家展开讲述其中的故事。1998年,微软开发了当时世界上唯一一个能在PC上使用的MPEG-4视频编解码器,它包括MS-MPEGV1,MS-MPEGV2,MS-MPEGV3共三个系列的编解码内核。其中的V1和V2用来制作AVI文件。相对来说,V3的画面质量要比V1和V2好很多。不过,微软却将这一原创 2011-06-18 19:04:00 · 5701 阅读 · 3 评论 -
MPEG标准
MPEG是Moving Picture Experts Group的简称,其本意指代一个研究音频和视频编码标准的小组,如今,它泛值由该小组指定的一系列视频编码标准。自1998年成立以来,该小组已经相继制订了MPEG-1,MPEG-2,MPEG-3,MPEG-4,MPEG-7等多个标准。MPEG组织,到目前为止,已经指定并正在指定以下视频标准:MPEG-1:第一个官方指定的音视频压缩标准,随原创 2011-06-19 10:33:00 · 3674 阅读 · 0 评论 -
H.264
H.264是一种高性能的视频编解码技术,目前世界上制定视频编解码技术标准的组织有两个:国际电联组织(IUT-T),它制定的标准有H.261,H.262,H.263等。另一个是国际标准化组织(ISO),它制定的标准有MPEG-1,MPEG-2,MPEG-4等。而H.264则是这两个组织联合起来共同制定的一种视频编解码技术。而且它将成为MPEG-4标准的第10部分。因此,不论是MPEG-4 A原创 2011-06-19 11:12:00 · 2699 阅读 · 2 评论 -
JPEG格式
JPEG的全称是Joint Photographic Experts Group(联合图像专家小组),它是一种常用的图像存储格式,其文件后缀名一般为“.jpg”或".jpeg"。JPEG格式可以分为标准JPEG、渐进式JPEG和JPEG2000三种格式。标准JPEG:该类型的图片文件,在网络上应用较多,只有图片完全被加载和读取完毕之后,才能看到图片的全貌;它是一种很灵活的图片压缩方原创 2011-06-18 20:10:00 · 4390 阅读 · 0 评论 -
统计学习理论简介
<br /> 统计学习理论是一种研究训练样本有限情况下的机器学习规律的学科。它可以看作是基于数据的机器学习问题的一个特例,即有限样本情况下的特例。统计学习理论从一些观测(训练)样本出发,从而试图得到一些目前不能通过原理进行分析得到的规律,并利用这些规律来分析客观对象,从而可以利用规律来对未来的数据进行较为准确的预测。例如,对全国未来几年人口数量进行预测,就需要先采集到过去几年甚至几十年的人口数据,并对其变化规律做出统计学方面的分析和归纳,从而得到一个总体的预测模型,这样就可以对未来几年的人口总体走势作原创 2011-05-02 19:43:00 · 3684 阅读 · 0 评论 -
机器学习算法的推广性
推广性是指通过对观测数据进行学习得到的学习机器对未来测试数据进行正确判断或近似预测的能力。前面提到,一个性能优异的学习机器应该使得期望风险最小化,在实际应用中,也就是使得经验风险最小化。而经过长时间的实验与观测,研究人员逐渐发现,经验风险最小化并不总是使得学习机器有着对未知数据良好的预测和判断能力。也就是说,通过对观测数据进行经验风险最小化的学习,并不是总能够得到一个推广能力良好的学习机器。在某些情况下,一味地追求经验风险最小化,反而使得学习机器的推广能力急剧下降,这也就是我们常听到的“过学习”的问原创 2011-05-02 20:06:00 · 3790 阅读 · 0 评论 -
推荐一些计算机视觉相关的书籍
经常碰到有人问我关于计算机视觉(机器视觉)领域的入门书籍或者相关书籍,下面我就推荐一些自己看的,当然,不见得满足所有人的需求,不过,还是真诚的希望能对你有所帮助。(1)数字图像处理,冈萨雷斯,阮秋琦(译),电子工业出版社;(2)opencv基础篇,于仕琦,刘瑞原创 2011-07-05 21:17:39 · 32529 阅读 · 18 评论 -
线性判别函数
原创 2011-08-14 20:17:30 · 2612 阅读 · 0 评论 -
Fisher线性判别
原创 2011-08-18 23:21:47 · 16867 阅读 · 5 评论 -
利用opencv进行usb相机的视频捕获
USB相机便宜,使用起来方便,而opencv也包含了读取USB相机视频数据的API函数。在windows xp中,该API函数是利用windows的VFW模块来实现的。下面,我给出相应的参考代码:#include "stdafx.h"#include "cv.原创 2011-08-20 22:22:37 · 7973 阅读 · 2 评论 -
Main函数中的argc和argv应用举例
尽管之前写过一篇关于argc,argv方面的文章(http://blog.csdn.net/carson2005/article/details/5766192)但依然有朋友搞不太清楚。所以,这里,我举两个简单的例子来详细说明,并告诉你一步一步的操作步骤。例1:打开指定路径下原创 2011-08-20 18:28:01 · 18056 阅读 · 11 评论 -
利用opencv捕获usb摄像头并写入视频文件
对于搞视频监控的朋友来说,视频文件的写入,几乎是必须的一个步骤。这里,我给出一个视频文件写入的例子。首先是利用opencv进行USB相机的视频捕获,然后,将视频帧写入到视频文件当中。在进行视频文件的写入之前,有两点需要提醒:(1)opencv只是一个图像处理的工具库,并不是视原创 2011-08-21 11:08:32 · 17145 阅读 · 7 评论 -
经验风险最小化
前面提到,机器学习的目的就是根据一些训练样本,寻找一个最优的函数,使得函数对输入X的估计Y'与实际输出Y之间的期望风险(可以暂时理解为误差)最小化。期望风险最小化依赖于样本的输入X与其输出Y之间的函数映射关系F(x,y),而这个映射关系,在机器视觉和模式识别系统中,一般指代先验概原创 2011-05-02 20:03:00 · 14125 阅读 · 0 评论 -
推广性的界
统计学习理论中关于经验风险与实际风险之间的重要结论,称之为推广性的界。显然,在观测数据的先验概率和类条件概率都无法准确获得的情况下,推广性的界对于学习机器的性能有着至关重要的影响。 研究人员通过对大量的数据分析发现在经验风险最小化原则下的学习机器的期望风险实际上由两部分原创 2011-05-29 16:46:00 · 4697 阅读 · 0 评论 -
频率域中的图像滤波
在频率域中对图像进行滤波是很简单的,其详细步骤如下所示:(1)用乘以输入图像来进行中心变换;(2)计算图像的DFT,即(3)用滤波器函数H(u,v)乘以F(u,v);(4)计算(3) 中结果的反DFT;(5)得到(4)中结果的实部;(6)用乘以(5)中的结原创 2011-07-20 22:45:09 · 5823 阅读 · 0 评论 -
同态滤波器
研究人员发现,图像f(x,y)可以表示为照度和反射两部分的乘积: 式(1)上面的式子不能直接用来对照度和反射的频率部分分别进行操作,原因是两个函数乘积的傅里叶变换是不可分的,也就是说: 式(2)然而,假设 式(3)那么: 式(4)原创 2011-07-20 22:49:44 · 12728 阅读 · 5 评论 -
机器学习的基本概念
顾名思义,机器学习的目的就是让机器具有类似于人类的学习、认识、理解事物的能力。试想一下,如果计算机能够对大量的癌症治疗记录进行归纳和总结,并能够给医生提出适当的建议和意见,那对病人的康复来说,是多么的重要。除了医疗领域,金融股票、设备维护、自动驾驶、航空航天等领域也对机器学习表现原创 2011-05-02 19:45:00 · 7776 阅读 · 0 评论 -
频率域图像处理基础
谈到频率域,就不得不说傅里叶变换了。傅里叶是18世纪法国的一位伟大的数学家。他最大的贡献在于指出任何周期函数都可以表示为不同频率的正弦和或者余弦和的形式,每个正弦或者余弦乘以不同的系数(也就是被大家所熟知的傅里叶级数)。无论函数有多复杂,只要它是周期性的,并且满足一定的数学条件,原创 2011-07-05 20:43:53 · 7620 阅读 · 5 评论 -
霍夫变换(Hough Transform)
霍夫变换是图像处理中的一个检测直线、圆等简单几何形状的方法。它最初是用于在二值化的图像中进行直线检测的。对于图像中的一条直线而言,利用直角坐标系,可以表示为:的形式。那么,该直线上任意一点(x,y)变换到k-b参数空间将变成一个“点”。也就是说,将图像空间中所有的非零像素转换到k-b参数空间,那么它们将聚焦在一个点上。如此一来,参数空间中的一个局部峰值点就很有可能对应着原图像空间中的一原创 2011-06-26 12:12:00 · 34265 阅读 · 6 评论 -
LBP算子介绍
LBP(Local Binary Pattern, 局部二值模式)是一种用来描述图像局部纹理特征的算子;显然,它的作用是进行特征提取,而且,提取的特征是图像的纹理特征,并且,是局部的纹理特征; 原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相原创 2011-03-31 22:32:00 · 51946 阅读 · 27 评论