http://www.open-open.com/lib/view/open1405477501337.html
ccv是一个基于C语言的、带缓存的现代计算机视觉库。
背景介绍
2010年前后,当Lian和我在进行手势识别的演示时,为走出困境,使抽象冗余图像的预处理操作更加干净简洁,我开始考虑不用堆栈。为什么这样做?两年后的ccv给出了答案。
缓存图像预处理
现如今,许多计算机视觉项目包含了很多的预处理层:影像金字塔生成、颜色空间转换等。这些潜在的冗余操作不能够通过定型的API消除。ccv提供了内置的缓存机制,同时保持一个简洁的功能接口,有效的为你做透明缓存。
容易嵌入
尽管为了更好的性能和完整的功能,ccv依赖于相当多的库函数,但它的主要功能却并不依赖这些库。你甚至可以把ccv的源码放到你的项目中,它都能很好的工作。
现代计算机视觉算法
ccv发展的核心理念就是“应用驱动”。因此,ccv最终实现了一些最先进的算法。比如对静态物体(如人脸)的快速检测算法、对某些不容易定位物体(如猫)的准确检测算法、艺术文本的检测算法、长期目标的跟踪算法和特征点检测算法。
对计算机视觉社区,并不缺少好的算法,但缺少精准的实现。多年来,我们在旧算法的高性能与新算法在Matlab中的实现之间做艰难的选择。ccv就是我对这些问题的最好解答,希望你们能够喜欢。
相关资源
入门:http://libccv.org/tutorial/
GitHub上的主页:https://github.com/liuliu/ccv
——————————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————————
http://blog.csdn.net/lanbing510/article/details/41279491
由于最近要用到ICF,DPM等新的行人检测算法,找到了开源库CCV http://libccv.org/tutorial/ ,但代码是在linux平台下的,公司机器又不允许自己装双系统,就使用了Visual Box+Ubuntu来进行实现,具体的实现步骤如下:
一、安装VisualBox+Ubuntu
1 下载VisualBox https://www.virtualbox.org/
2 下载Ubuntu http://www.ubuntu.com/download ,下载和自己CPU位数一致的版本,避免不必要的错误
3 记得在BIOS里打开CPU虚拟支持,如果你Windows有HyperV远程服务,需要关闭
4 安装好VisualBox后,新建,选择对应的版本,一路默认到底。然后在设置里找到Storage选项,在ControlIDE里添加下载的Ubuntu*.iso
5 启动进行安装即可
二、Windows和VisualBox中的Ubuntu文件共享
1 在VisualBox的设置里找到共享文件夹,选中一个文件夹作为共享文件夹,比如选中一个名为share的文件夹
2 在Ubuntu下mkdir一个新的文件,比如在/home下mkdir sharevm
3 命令:sudo mount -t vboxsf share /home/sharevm 即可共享
三、安装CCV
1 git clone https://github.com/liuliu/ccv.git
2 git checkout stable # switch to stable branch
3 下载一些依赖库
4 cd lib
./configure force
5 cd ../bin
make
6 make完成后可以看到bin里面生成很多的可执行文件
注:如果make的时候出现../libgsl.so: underfined reference to 'cb_las_*'的错误,进入lib文件夹,在config.mk里面 手动加入 -lgslcblas to LDFLAGS
四、使用ICF DPM进行行人检测
ICF:
./icfdetect <Your Image contains Pedestrians> ../samples/pedestrian.icf | ./icfdraw.rb <Your Image contains Pedestrians> output.png
./dpmdetect <Your Image contains Pedestrians> ../samples/pedestrian.m | ./dpmdraw.rb <Your Image contains Pedestrians> output.png