【学习OpenCV】ubuntu下通过cmake安装和配置opencv3.3.0

 

Linux下使用OpenCV

 

参考官方教程

https://docs.opencv.org/3.3.1/d7/d9f/tutorial_linux_install.html

 

安装依赖

 

[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

 

 

 

第一步,下载源码包,即第一幅图中的第四个链接;
第二步,解压缩, tar -zxvf opencv-3.3.0.tar.gz,会得到一个opencv-3.3.0的文件夹
第三步,cmake编译。说到这儿,需要强调一下,cmake 编译之前可以提前准备一下必要的工具包,诸如安装java/python等,如果大家不知道准备什么工具也不要紧,假设大家都已经准备好了必要的安装工具,直接开始编译,代码如下

cd opencv-3.3.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/software/opencv ..

 

cmake的参数就不赘述了,也就是根据源码编译并且安装到 /home/software/opencv 这个目录下面,编译完成之后会打印输出一个清单,也就是会安装哪些东西,安装到哪个目录,类似于Windows下面正式安装之前的一个显示页面,我在这个页面吃了一个大亏,因为我需要安装opencv的java相关库,而第一次安装的时候我的系统里面没有安装ant,所以清单里面显示java 一栏中 ant 后面显示 NO,就这个东西导致我安装虽然成功了,但是仍然没有我想要的opencv_java330库,所以这里也提醒一下大家,可以根据自己需要的环境来安装对应的库,如果缺失了就及时补充对应的工具包,然后再安装,也就是在 make 和 make install 之前要确保 cmake 运行之后的清单里面要有自己想要的东西。然后我补充安装 ant ,重新 cmake 编译一次,这一次输出打印的清单里面java 后面的所有内容都是 YES 了。

第四步:make编译。为了加快编译,可以多核编译 make -j7
第五步:安装 make install

安装完成之后到安装目录

/usr/local/

可以发现4个文件夹,如下图:

 

 

测试测序

tset.cpp

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;
int main( int argc, char** argv )
{
    Mat image;
    image = imread(argv[1], 1);

    if( argc != 2 || !image.data )
    {
        printf("No image data \n");
        return -1;
    }

    imshow( "Display Image", image );
    waitKey(0);

    return 0;
}

CMakeLists.txt

project( main )
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
find_package( OpenCV REQUIRED )
AUX_SOURCE_DIRECTORY(. DIR_SRCS)
ADD_EXECUTABLE(main ${DIR_SRCS}  )
target_link_libraries( main ${OpenCV_LIBS} )

mkdir build

cd build

cmake ..

make

./main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值