【Ubuntu-Opencv】Ubuntu14.04 Opencv3.3.0 安装配置及测试

Ubuntu14.04 Opencv3.3.0 安装配置及测试

网上有许多的Opencv的安装方法,不过找到一个适合自己的安装路数才最为重要,笔者整理了一下自己的安装配置测试过程,仅供学习参考。

###a. 安装前的准备工作
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

###b. 安装opencv
首先下载opencv源码,下载地址https://opencv.org/releases.html,注意选择下载source源码,我这里下载的是opencv3.3.0版本
cd opencv-3.3.0
mkdir release
cd release
cmake … 或者

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..   

(我是用的前面的cmake)

【PS update 2018.4.30】
如果是opencv_contrib也要使用,那么需要先下载好文件,cmake的执行命令也就变成

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ ..  

【PS update 2018.7.24】
如果安装了anaconda3,希望通过编译完成自动生成cv2,那么可以使用以下命令:

cmake -D WITH_IPP=OFF -D PYTHON_DEFAULT_EXECUTABLE=~/anaconda3/bin/python3 -D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF -D PYTHON3_EXCUTABLE=~/anaconda3/bin/python3 -D PYTHON3_INCLUDE_DIR=~/anaconda3/include/python3.6m -D PYTHON3_LIBRARY=~/anaconda3/lib/libpython3.6m.so.1.0 -D PYTHON_NUMPY_PATH=~/anaconda3/lib/python3.6/site-packages ..

貌似上面这个没起作用,我安装完成后,使用了以下命令,完成python3 opencv3.4.2 生成cv2
sudo pip3 install opencv_python

【PS update 2018.7.26】
如果你电脑支持GPU,并且安装好了cuda9.0,然后开始编译opencv3.4.*,你或许会遇到“compute_60”, "compute_61"的问题提示
这里写图片描述
这个问题主要是因为你的计算机的计算能力没有达到opencv默认的60和61的要求而导致的,可以通过设置参数-D CUDA_GENERATION=Kepler来解决,相关命令如下:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CUDA_GENERATION=Kepler ..  

这里写图片描述
make 或者 make -j8 (-j8是指你电脑可用的内核数,有的是j4,不指定也没关系,我用的前面的make)
这里写图片描述
sudo make install (注意一定要加sudo,否则会报出permission问题)
这里写图片描述
(安装结束后,可以用该条命令查看opencv版本,注意这里–modversion是双横线)

pkg-config --modversion opencv

这里写图片描述

【PS】opencv还有一种cmake-gui安装方式,就是有界面选项,不用直接命令行安装的方式,不过要安装qt-cmake-gui工具,具体的可以参考在ubuntu下使用cmake进行opencv的配置和Windows下进行使用cmake编译源代码比较,opencv3进行g++例子程序编译、动态库的制作ubuntu下cmake3.4的安装(有GUI界面)以及Ubuntu + CUDA9 + CUDNN7 + OpenCV3.4 + contrib +CAFFE-master

【PS update 2018.5.3】
在安装opencv + opencv_contrib过程中你或许会遇到下面这个问题:
这里写图片描述
解决办法可参考
[1] ubuntu16.04编译opencv3.4.1和contrib遇到的错误及解决方法 (已实测)不过虽然解决了上述问题,在make的时候还是会出现其他问题,最后没有办法,笔者重新在github上下载了最新的opencv和opencv_contrib重新cmake后解决该问题,至于是什么原因造成的,我到现在也是一头雾水。
终于找到原因了:错在opencv和opencv_contrib不是同一个版本

###c. 至此,opencv已经安装完成了,不过不要认为这样就万事大吉了,别忘了配置环境变量
sudo gedit /etc/ld.so.conf (在弹出的窗口中复制如下一段文字:/usr/local/lib)
这里写图片描述
sudo ldconfig (使得配置生效)
sudo gedit /etc/bash.bashrc
(在弹出的窗口中添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
)
这里写图片描述
source /etc/bash.bashrc 使得配置生效

走到这里才算得上是真正安装opencv结束

###d. 来个短代码demo测试一下
cd opencv-3.3.0
mkdir demo
cd demo
sudo gedit DisplayImage.cpp

#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
	if ( argc != 2 )
	{
		printf("usage: DisplayImage.out <Image_Path>\n");
		return -1;
	}
	Mat image;
	image = imread( argv[1], 1 );
	if ( !image.data )
	{
		printf("No image data \n");
		return -1;
	}
	namedWindow("Display Image", WINDOW_AUTOSIZE );
	imshow("Display Image", image);
	waitKey(0);
	return 0;
}

sudo gedit CMakeLists.txt (注意:这里的CMakeLists一定要书写正确,否则无法使用cmake政策编译)
要填写的内容如下:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
这里写图片描述

然后就可以编译测试程序了
cmake .
make
./DisplayImage yourImagefilePath
这里写图片描述
这里写图片描述

【PS update 2018.7.25】
在Opencv 3.4.*版本上进行测试,按照上述cmake … 得到的opencv,在运行一个example的时候会爆出如下错误
error: #error “OpenCV 4.x+ requires enabled C++11 support”
这里写图片描述
解决办法: 在每次cmake … example的时候,加上-D CMAKE_CXX_FLAGS="-std=c++11" 进行编译,就不会报错啦。


参考链接:
【1】: http://www.cnblogs.com/txg198955/p/5990295.html
【2】: http://blog.csdn.net/Function_K/article/details/77899546
【3】: https://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html
【4】: http://blog.csdn.net/Function_K/article/details/77899546

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十四桥下一句

您的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值