先下载到1.opencv和2.opencv_contrib,直接放在系统目录下
然后开始安装必要的东西:
zz@zz-Inspiron-5520:~$ sudo apt-get update
zz@zz-Inspiron-5520:~$ sudo apt-get install build-essential #必要的c++库
zz@zz-Inspiron-5520:~$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
zz@zz-Inspiron-5520:~$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
开始安装opencv:
zz@zz-Inspiron-5520:~$ ls #opencv放在根目录下
#结果
caffe Desktop Downloads InfoGAN opencv Pictures sougou_64.deb test_dataguru~
caffe-master.zip Documents examples.desktop Music opencv_contrib Public Templates Videos
#进入opencv文件夹
zz@zz-Inspiron-5520:~$ cd opencv #进入opencv文件夹
zz@zz-Inspiron-5520:~/opencv$ mkdir build #创建一个build文件夹
zz@zz-Inspiron-5520:~/opencv$ cd build #进入build文件夹
zz@zz-Inspiron-5520:~/opencv/build$ cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local ..
#屏幕上出现“Configuring done”就代表编译成功了
*************这时候会出现一个问题,Downloading ippicv_linux_20151201.tgz...一直下载不下来,是因为被墙了
ippicv_linux_20151201.tgz替换原来的
文件夹为:/home/zz/opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
接着重新编译:
zz@zz-Inspiron-5520:~/opencv/build$ cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local .. #这句和上一句一样
#屏幕上出现“Configuring done”就代表编译成功了
执行最后一步:
zz@zz-Inspiron-5520:~/opencv/build$ make #等待比较久,大约15分钟
zz@zz-Inspiron-5520:~/opencv/build$ sudo make install
哈哈,安装完成,看一看结果
zz@zz-Inspiron-5520:~/opencv/build$ ls /usr/local/lib #查看库
zz@zz-Inspiron-5520:~$ ls /usr/local/include/opencv2
*************这时候会出现一个问题,
- modules\videoio\CMakeFiles\opencv_videoio.dir\build.make:150: recipe for target
- 'modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj' failed
- mingw32-make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dsho
- w.cpp.obj] Error 1
- CMakeFiles\Makefile2:2719: recipe for target 'modules/videoio/CMakeFiles/opencv_
- videoio.dir/all' failed
- mingw32-make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
- makefile:136: recipe for target 'all' failed
- mingw32-make: *** [all] Error 2</span>
*********************************************
测试,可以输出一幅图:
zz@zz-Inspiron-5520:~/opencv/build$ sudo vim /etc/ld.so.conf
加入/usr/local/lib
zz@zz-Inspiron-5520:~/opencv/build$ sudo ldconfig #可以直接调用库
zz@zz-Inspiron-5520:~/opencv/build$ cd ~
zz@zz-Inspiron-5520:~$ ls
Desktop lena.jpg opencv_contrib.zip sougou_64.deb
Documents Music opencv.zip Templates
Downloads opencv Pictures test_opencv.cpp
examples.desktop opencv_contrib Public Video
zz@zz-Inspiron-5520:~$ g++ -o test_opencv test_opencv.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs
zz@zz-Inspiron-5520:~$ ./test_opencv
!!!
/usr/bin/ld: warning: libopencv_core.so.3.1, needed by //usr/local/lib/libopencv_imgcodecs.so, may conflict with libopencv_core.so.2.4
/usr/bin/ld: /tmp/ccJnrotv.o: undefined reference to symbol '_ZN2cv6String10deallocateEv'
//usr/local/lib/libopencv_core.so.3.1: error adding symbols: DSO missing from command line
装完caffe后运行: #因为caffe自带opencv是2.4版本,所以删除自带的opencv2.4
zz@zz-Inspiron-5520:~$ sudo apt-get autoremove libopencv-dev