2009年06月13日
最近几天,工信部花钱替用户买单,要求电脑预装过滤软件”绿坝“。真所谓是花了龙种的钱,买了跳蚤的卵。其实还有一个收到关注的问题,就是绿坝使用了OPENCV的核心库以及人脸检测的训练库。关于OPENCV,由于一直是开发源代码的,也因为它拥有大量的图像处理和计算机视觉处理的基本算法与函数,目前越来越受到研究人员和工程开发人员的认可,”绿坝“使用OPENCV开发平台,似乎也验证了这个现象。虽然因为开发源代码,大家都可以有很大自由度和灵活性来使用OPENCV,并用作研究和商业用途,但OPENCV还是有一定的版权要求的。绿坝作为一款公共软件,更应该注意此点。OPENCV的版权要求,对源代码发布和二进制文件发布,均要求对所发布的内容增加版权声明,该什么其实就是源代码C/C++程序中的开头一段文字,关于这段文字可能引起的问题,hunnish已经在几年前的博文中说过。另外一个容易引起麻烦的是,OpenCV包含很多特定的算法,比如做人脸检测的Ada-boost算法,做特征提取的SURF算法等等,而这些算法(包括源代码阅读全文>
发表于 @ 2009年06月13日 09:37:00|评论(loading...)|举报|收藏
2009年04月07日
译者序
计算机视觉是在图像处理的基础上发展起来的新兴学科,在计算机科学和工程、信号处理、物理学、应用数学和统计学,神经生理学和认知科学等研究方面,在制造业、检验、文档分析、医疗诊断,和军事等领域等各种智能/自主应用方面,都有非常广阔的发展前景。
这几年在中国,译者很欣喜地看到越来越多的学生、科研人员和应用开发人员开始在计算机视觉领域使用OpenCV,开始逐步把OpenCV作为自己所从事职业的一个忠实伙伴。
作为一个开源项目,OpenCV发展到今天,已经从个别人的兴趣爱好逐步转变为一个系统的、有科研和商业应用价值的研发平台。截至到2009年2月,OpenCV仅在Sourceforge上的下载量已经超过200万次,这充分说明OpenCV已经开始得到广泛认可,正逐步走出象牙塔,进入一片广阔的蓝海。
作为OpenCV项目的发起人,Gary Bradski 和 Adrain Kaebler所撰写的《Learning OpenCV》一书,对OpenCV的很多基本算法函数都给出了详阅读全文>
发表于 @ 2009年04月07日 20:06:00|评论(loading...)|举报|收藏
2009年03月04日
从OPENCV发起人 GARY 处得来的消息,OPENCV最近的下载量创新高,基于OPENCV在全球的日益普及,新版本的发布速度也随之加快。具体的消息如下:
===
OpenCV passed 2,000,000 downloads from sourceforge this month. It also turned 10. http://www.willowgarage.com/blog/2009/02/06/opencv -hits-two-million
It's going strong with a small team of full time developers and a growing list of contributors. See our development plans for this summer's new release:
http://opencv.willowgarage.com/wiki/OpenCV200906
Gary
阅读全文>
发表于 @ 2009年03月04日 18:19:00|评论(loading...)|举报|收藏
2008年12月16日
2008年对中国是一个极其不平凡的一年。我们从年初的雪灾,到初夏的汶川地震,从8月举国欢腾的奥运,再到金融危机下的严冬,酸甜苦辣什么滋味都尝试过了。太宗皇帝云,“以史为镜,可以知兴替”,如果以此为鉴的话,那么回眸我们那一个个不平常的10年,或颇有玩味之处!
=== 1998年 ===
1998年百年一遇的洪水是那个年代的象征,奋勇抵抗洪水是中国高度组织能力的集中体现。
* 2月7日——第18届冬季奥运会在日本长野开幕。
*
5月13日——印尼五月印全国性反华暴乱,全印尼共有1200多人丧生。
*
5月24日——中国香港第一届立法会选举正式举行。因为这是香港特别行政区成立已来的首届立法会选举,所以得到了市民的积极参与。当天的地区选举投票率达53.29%,而功能界别选举的投票率则有63.50%。
*
5月25日——香港3号干线的大榄隧道正式启用。
*
5月29日——中华人民共和国签署了《联合国气候变化框架公约》,成为第37个缔约国。阅读全文>
发表于 @ 2008年12月16日 21:45:00|评论(loading...)|举报|收藏
2008年12月11日
第七章:Histograms and Matching 直方图与匹配
在分析图像、物体和视频信息的过程中,我们常常想表示称之“直方图”的东西。直方图可以用来描述各种不同的事情,如物体的色彩分布、物体边缘梯度模板[Freeman95],以及表示目标位置的当前假设的概率分布。图7-1显示如果利用直方图进行快速姿态识别。边缘梯度从“上”,“右”,“左”,“停”和“正常”等手性姿态中得到。然后设置一个网络摄像头来观察人的各种姿态以控制网络视频。在每帧中,从输入的视频中检测感兴趣的色彩区域,然后计算这些感兴趣区域周围的边缘梯度方向,将得到的边缘梯度方向放到一个方向直方图相应的bin中,然后将该直方图与姿势模板进行匹配,从而识别出各种姿势。图7-1的垂直条显示不同姿态的匹配程度。灰色的水平线为可接受阈值,表示胜出的对应姿态模型的垂直条。
很多计算机视觉领域都能找到直方图的应用。当视频中的场景帧与帧之间的边缘和颜色统计有明显的变化时,直方图被用来检测这种视频中场景的变化。通过为每个感兴趣点设置一个有相近特征的直方图所构成的”标签”,用以确定图像中感兴趣的点。边缘、色彩、角阅读全文>
发表于 @ 2008年12月11日 12:47:00|评论(loading...)|举报|收藏
Gradients and Sobel Derivatives 梯度和Sobel导数
一个最重要并且最基本的卷积是导数的计算(或者是其近似值),有许多方法可以做到,但是只有少数适合于给定情况。
通常来说,用来表达微分的最常用的操作是sobel微分算子(见图6-3,6-4)。Sobel算子包含任意阶的微分以及混合偏导(例如)。
图6-3 逼近x-方向上一阶微分的sobel算子效果
cvSobel( const CvArr* src, CvArr* dst, int xorder, int yorder, int aperture_size = 3);
这里,src和dst分别是输入图像和输出图像,xorder和yorder是求导的阶数。通常只可能用到0,1最多2。值为0表明在这个方向上没有求导[65],aperture_size参数是方形滤波器的宽(或高)并且应该是奇数。目前,aperture_size支阅读全文>
发表于 @ 2008年12月11日 12:39:00|评论(loading...)|举报|收藏
Convolution 卷积
卷积是本章所讨论的很多转换的基础。抽象的说,这个术语意味着我们对图像的每一个部分所做的操作。从这个意义上讲,我们在第五章所看到的许多操作可以被理解成普通卷积的特殊情况。一个特殊的卷积所实现的功能是由所用的卷积核的形式决定的。这个核本质上是一个大小固定,由数值参数构成的数组,数组的标定点通常位于数组的中心。数组的大小被称为核支撑。单就技术而言,核支撑实际上仅仅由核数组的非零部分组成。
图6-1描述了以数组中心为定标点的3×3卷积核。若要计算一个特定点的卷积值,首先将核的标定点定位到图像的第一个像素点,核的其余元素覆盖图像中其相对应的局部像素点。对于每一个核点,我们可以得到这个点的核的值以及图像中相应图像点的值。将这些值相乘并求和,并将这个结果放置在与输入图像标定点所相对应的位置。通过在整个图像上扫描卷积核,对图像的每个点重复此操作。
图6-1. Sobel 微分的3×3核,可以注意到标定点在核的中心
当然我们可以用方程来表示这个过程,如果我们定义图像为I(x,y),核为G(i,j) (其中 0 阅读全文>
发表于 @ 2008年12月11日 12:34:00|评论(loading...)|举报|收藏
2008年10月26日
时隔近两年,终于发布的OpenCV的第一个更新版本,看来原核心开发小组离开Intel,确实对OpenC
V的影响比较大。好在了解OpenCV的人越来越多,星星之火,可以燎原,信哉此言!
下面是 1.1pre 版本的更新LOG,仔细看了,内核没有太大的变动,应该还有不少BUG,估计大家会
很快把这些BUG抓出来。
Changes:
===================================================
OpenCV 1.1pre1, October, 2008
===================================================
>>> New functionality/features:
- General:
* Octave bindings have been added. See interfaces/swig/阅读全文>
发表于 @ 2008年10月26日 23:58:00|评论(loading...)|举报|收藏
2008年10月25日
O'REILLY最近刚刚出版了一本相当不错的OpenCV书籍,名字叫《Leaning OpenCV》,该书的作者是很出名的 Gary Bradski 和 Adrain Kaebler。Gary目前在斯坦福大学的人工智能实验室,是OpenCV的发起人。此书具有这样的“渊源”,自然不凡了。阅读全文>
发表于 @ 2008年10月25日 17:50:00|评论(loading...)|举报|收藏
2008年09月18日
在WINDOWS下经常要用到在MFC应用窗口中显示IPLIMAGE,因此BMP与IPLIMAGE的相互转换就会经常使用。本文给出两个转换函数,供参考!
/** 从BMP图像文件数据流中生成IPLIMAGE对象
*/
IplImage* GetIplFromBmp(BYTE* pBmp, DWORD size)
{
BYTE* p = pBmp;
BITMAPFILEHEADER fheader;
memcpy(&fheader, p, sizeof(BITMAPFILEHEADER));
BITMAPINFOHEADER bmphdr;阅读全文>
发表于 @ 2008年09月18日 15:51:00|评论(loading...)|举报|收藏
2008年06月21日
早就耳闻纪录片《迁徙的鸟》的大名,一直无缘看到。最近刚刚费了几天的努力从网上下了(感谢互联网)。影片画面之精美,所表达的感情之浓烈,令人感慨系之。片尾的主题歌,久久不能忘怀。特地把歌词贴在这里,算是心境的记录: And I know just one thing.Love comes on a wing.And tonight I will be by your side.But tomorrow I will fly away.Love rises with the day.And tonight I will be by your side.But tomorrow I will fly.Tomorrow I will fly.To be by your sideAcross the oceans, across the seas.Over forests of bl阅读全文>
发表于 @ 2008年06月21日 17:02:00|评论(loading...)|举报|收藏
2008年05月12日
因为某种原因,需要在MINGW下编译OPENCV,本以为是一个比较简单的事情,孰知竟然也陆陆续续花了不少的精力,即使到现在这个地步,也还有部分不甚满意的地方。综合看,OPENCV的的正常运行需要很多库的支持。在MS的VC++和正常的LINUX发布版本下,这些支持都是默认的,而在MINGW 下,却需要一一提供,因此也颇费一番周折,先把过程列举如下,希望能够今后做同样事情的人有所裨益。阅读全文>
发表于 @ 2008年05月12日 16:22:00|评论(loading...)|举报|收藏
2007年12月17日
收集的一些开发工具包,主要是C/C++方面的,涉及图形、图像、游戏、人工智能等各个方面,感觉是一个比较全的资源....阅读全文>
发表于 @ 2007年12月17日 21:03:00|评论(loading...)|举报|收藏
2007年10月14日
各种有关机器学习方法的PPT文件资源,感觉不错。阅读全文>
发表于 @ 2007年10月14日 16:49:00|评论(loading...)|举报|收藏
2007年09月28日
Hunnish: 在seasun网站上看到这篇文章,感觉不错,人机交互究竟会如何发展,本文给出了一个不错的轮廓!阅读全文>
发表于 @ 2007年09月28日 21:28:00|评论(loading...)|举报|收藏