摘要
主要学习了在Linux下如何搭建OpenCV的环境,以及了解了OpenCV常用的一些库。
OpenCV环境搭建
准备工作:需要把opencv和opencv_contrib两个文件解压发到家目录下
第一步 :先安装好需要的第三方环境
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
以上安装的分别是编译库,必须库,选择库,第一个是gcc和g++的编译库,第二个主要安装的是cmake和git还有一些图片输入输出,视频编码解码必须要用的库,opencv的io是调用第三方库实现的。第三个主要是安装Python的一些库,衔接使用,一些简单的操作用Python实现会更好。
第二步:使用cmake编译源码
先把目录切换到opencv下,并且创建build目录
cd ~/opencv
mkdir build
cd build
然后执行cmake命令(注意目录)
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local ..
显示这个说明安装成功,这里有一个比较常见问题,
因为被墙的缘故,所以这个安装下载不成功或者提示hash值不对。
解决办法:
下载ippicv_linux_20151201.tgz文件,并把覆盖opencv/3rdparty/ippicv/
downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz这个包,就ok了。
第三步:编译安装
执行make命令
然后执行sudo make install命令
这样就安装成功了。可以使用 ls /opencv/bulid/usr/local/lib命令查看所安装的库
为了方便代码运行,使用sudo vi /etc/ld.so.conf命令修改/etc/ld.so.conf文件,添加/usr/local/lib
再执行sudo ldconfig就可以直接使用库了。
最后写一个测试代码来看是否安装成功
本代码的作用是读取一个lena图片,并显示
编译 g++ -o test_opencv test_opencv.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs
执行./test_opencv
最后显示出lena的图片,图像处理的常用的测试图片。
OpenCV常用库的了解
opencv_core :core函数库(基本的数据结构,架构和线性代数,DFT,xml 和yam i/o接口口函数等)
opencv_imgproc / opencv_imgcodecs:-图像处理函数库(滤波,高高斯模糊,形态学膨胀/腐蚀,线性缩放图像大大 小小
像几几何变化,颜色色结构变化,计算直方方图等)
opencv_highgui :GUI,图像和视频窗口口函数库
opencv_ml :统计机器学习模型函数库(SVM,决策树,级联等)
opencv_features2d :二二维特征检测器和描述子子函数库(SURF,FAST 等,包括一一种新的特征 描述子子匹配结构)
opencv_video :动态分析和物体追踪函数库(光流法,移动模板,背景消除)
opencv_objdetect :图像⺫目目标检测函数库(haar小小波 & LBP人人脸检测和识别,HOG人人检测 等)
opencv_calib3d :摄像头标定,视觉匹配和三维数据处理函数库
opencv_flann :近似最近领域搜索库和OpenCV分装器
opencv_contrib :最新贡献但不是很成熟的函数库
opencv_legacy :过时代码,为了后续代码兼容性而而存在
opencv_gpu :用用CUDA来加速一一些openCV函数的类库(相对不太稳定,但对openCV开 发非非常有帮助)