Learning OpenCV 环境搭建

标签: OPENCV 计算机视觉入门
3人阅读 评论(0) 收藏 举报
分类:

摘要

        主要学习了在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开 发非非常有帮助)




                








查看评论
    个人资料
    等级:
    访问量: 3万+
    积分: 39
    排名: 195万+
    博客专栏
    文章分类
    文章存档
    读书笔记