Opencv入门(opencv简介及安装)
工作后发现需要用到opencv这个强大的库,所以想利用博客记录每天的收获,可能会有些不足,所以分享给和我一样才开始学习opencv的同学,希望可以提出宝贵意见,一起学习。
Opencv是什么
- 开源的计算机视觉库,C/C++语言编写,支持Linux/Windows/Mac等,提供多种语言接口(Python/Ruby/MATLAB等),目标是为解决计算机视觉问题提供基本工具。
- 能够充分利用多核处理器的优势。如果希望在Intel平台上得到更快的处理速度,购买Intel的高性能多媒体函数库IPP(Integrated Performance Primitives)是个不错的选择。IPP库包含许多从底层优化的并涵盖多个应用领域的函数,如果安装了IPP库,Opencv会在运行时自动使用相应的IPP库。
- 包含500多个函数,涵盖了许多领域(工厂产品检测,医学成像,信息安全,用户界面,摄像机标定,立体视觉和机器人等)。
- 还提供了MLL(Machine Learning Library)机器学习库,侧重于统计方面的模式识别和聚类。MLL还可被用于其他机器学习场合。
计算机视觉是什么
计算机视觉是一个过程:
来自静止图像或视频的数据 –> 一个决策或一种新的表达方式
eg:“摄像机架在汽车上”–>“场景中有一个人”
在计算视觉系统中,计算机接收到来自摄像机或者磁盘文件的一个数值矩阵。一般来说,没有(1)内置的模式识别系统,(2)自动控制的对焦和光圈,(3)多年来经验的积累,视觉系统通常很低级。
通常计算机看到的物体仅仅是一个数字矩阵,其中每个数值都有很大的噪声成分,因此仅仅给出了很少的信息,这个数值矩阵就是计算机看到的全部,我们的任务就是将这个具有噪声成分的数值矩阵变成感知。
在Linux环境中下载安装Opencv
这里我引用了其他大牛写的安装过程:
下载安装cmake,由于Opencv需要通过cmake配置,因此需要先安装cmake,安装指令:sudo apt-get install cmake。
下载Opencv安装包,在Opencv官方网站先下载一个最新版本(Opencv-2.4.5.tar.gz)。
安装依赖库,此时还需要一些依赖库,否则,运行时会提示缺少一些库,执行下面的指令:$sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev 如果执行这个命令,产生了错误,说明使用不信赖的库,那么就用aptitude代替apt-get。
安装Opencv
- 解压,$tar -zxvf Opencv安装包,生成相应的Opencv目录
- cd opencv目录
- mkdir build
- cd build
- cmake ..
- make
- sudo make install
- 配置环境
可以参考《Linux静态库和动态库的使用》和《pkg-config的一些用法》。输入命令 $sudo vim /etc/ld.so.conf.d/opencv.conf 。创建并编辑该文件。第一次安装时,这个文件是空的。在这个文件的最后面,写入/usr/local/lib。
- 保存并退出,执行$sudo ldconfig命令,使得运行时能够让系统找到该路径。
执行$sudo vim /etc/bash.bashrc命令,编辑该文件,这个文件不会是空的。如图在这个文件的最后写入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/loca/lib/pkgconfig
export PKG_CONFIG_PATH保存并退出,现在已经安装好了所有东西,测试一下。
需要打开一个新终端,或者先输入 source /etc/bash.bashrc 或者输入 bash也行。具体查看《/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途》。
进入Opencv目录下的samples/c 编译并运行例子。
运行脚本 ./buildall.sh等待其编译完后,执行目录下的其中一个程序 ./find_obj。可以看到结果