当前位置: 移动技术网 > 科技>操作系统>Linux > ubuntu16.04编译安装opencv3.4.6

ubuntu16.04编译安装opencv3.4.6

2019年04月12日  | 移动技术网科技  | 我要评论

1、下载压缩包:,在branch栏选择3.4版本,clone下载

2、安装cmake及依赖库,打开终端,输入以下命令:

sudo apt-get install cmake 

  

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev  

 3、解压所下载的压缩包,在包含有cmakelist.txt文件的目录下右键打开终端:

新建文件夹build,并切换到build目录下:

 

mkdir build
cd build  

4、 cmake一下

cmake -d cmake_build_type=release -d cmake_install_prefix=/usr/local ..

其中可能会有一个ippicv下载时间长或者下载失败,可考虑手动下载:链接:https://pan.baidu.com/s/1gwpo1no0v4plmmmxwfcfew 提取码:kuox 

这个安装包是ippicv_2019_lnx_intel64_general_20180723.tgz,若终端显示下载其他版本的,自行百度下载。

下载后无需解压,复制文件的绝对路径(不包含文件名,如/home/xlzc/download/),打开opencv-3.4/3rdparty/ippicv/ippicv.cmake文件,定位在47行,

替换自己的本地文件路径,如下:

再次执行上一cmake命令,ok了,

5、之后执行make,编译时间有些长:

sudo make

6、执行命令:

sudo make install

7、执行完毕后opencv编译过程就结束了,接下来就需要配置一些opencv的编译环境首先将opencv的库添加到路径,从而可以让系统找到

sudo gedit /etc/ld.so.conf.d/opencv.conf 

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加,之后保存。

/usr/local/lib  

 执行如下命令使得刚才的配置路径生效

sudo ldconfig

可能会有以下错误:(我安装时未碰到)

 

sbin/ldconfig.real: /usr/lib/nvidia-375/libegl.so.1 不是符号连接
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libegl.so.1 不是符号连接
出现这个错误可能是由于系统bug所致

只需要分别输入上面图下部分的四行命令就可解决

sudo mv /usr/lib/nvidia-375/libegl.so.1 /usr/lib/nvidia-375/libegl.so.1.org 
sudo mv /usr/lib32/nvidia-375/libegl.so.1 /usr/lib32/nvidia-375/libegl.so.1.org 
sudo ln -s /usr/lib/nvidia-375/libegl.so.375.39 /usr/lib/nvidia-375/libegl.so.1 
sudo ln -s /usr/lib32/nvidia-375/libegl.so.375.39 /usr/lib32/nvidia-375/libegl.so.1

8、配置bash(类似于windows环境变量)  

sudo gedit /etc/bash.bashrc  

在最末尾添加

pkg_config_path=$pkg_config_path:/usr/local/lib/pkgconfig  
export pkg_config_path  

保存,执行如下命令使得配置生效

source /etc/bash.bashrc   

更新

sudo updatedb  

至此所有的配置都已经完成 

9、测试

cd到opencv-3.4.1/samples/cpp/example_cmake目录下 我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下 

按顺序执行 

cmake .
make
./opencv_example

即可看到打开了摄像头,在左上角有一个hello opencv 
即表示配置成功,无摄像头也输出hello opencv 

或者自己建立一个小工程测试,新建文件夹demo,包含文件cmakelist.txt和文件main.cpp

cmakelist.txt:

cmake_minimum_required(version 2.8)

project(example_project)

find_package(opencv required)

add_executable(example main.cpp)	

target_link_libraries(example ${opencv_libs})	

main.cpp

#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
#include <iostream>
 
using namespace cv;
using namespace std;
 
 
int main()
{
    cout << "hello opencv " << cv_version << endl;
    
    mat mymat = imread("/home/xlzc/桌面/project/opencv_test/test2.jpg",1);
 
	// 显示图像
	imshow("opencv image", mymat);
 
	// 等待按键延时 ms
	waitkey(5000);
 
    return 0;
}  

在当前目录下打开终端,依次运行以下命令

cmake .
make
./example

j即可显示一张图片  

参考转载:https://blog.csdn.net/cocoaqin/article/details/78163171

 

 

 

  

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网