在Linux下安装C++的OpenCV 3
最近在看《学习OpenCV3》这本书,所以记录下我在ubuntu16.4下搭建C++版本OpenCV 3.4.5的过程。首先请确保cuda,gcc, g++都安装好了,我这里是cuda 10.0,gcc-4.9.4和gcc-5.5.0,它们之间的版本只要是配套的应该就没问题,我原本是按照Francesco Piscani油管视频:OpenCV C++ on Linux Tutorial 1 - OpenCV 3.2 Installation on Ubuntu 16.04 进行安装OpenCV 3.1.0 ,但是编译老是报错,后面怀疑是自己用的cuda版本有点新,而以前的Opencv 3.1.0有点跟不上配置,但之后就按照Davidhwj的 linux安装及配置c++的opencv库 进行配置成功了。
安装步骤:
1. 更新系统源
sudo apt-get update
2. 安装依赖项
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. 下载OpenCV 3.4.5
官网下载地址:https://opencv.org/releases/page
之后将其解压至根目录下,我这里是home/下。之后创建release文件夹:
cd opencv-3.4.5
~/opencv-3.4.5$ mkdir release
4. 设置cmake参数
~/opencv-3.4.5/$ cd release
~/opencv-3.4.5/release/$ sudo cmake
~/opencv-3.4.5/release/$ sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
或者使用默认安装设定:
~/opencv-3.4.5/release/$ sudo cmake ..
在cmake过程中常会报错ippicv_2019_lnx_intel64_general_20180723.tgz下载超时,解决办法就是到官方Github源码里下载该压缩包,之后打开opencv-3.4.5/3rdparty/ippicv/ippicv.cmake文件,然后复制下图中选中的命名后缀:

在opencv-3.4.5/3rdparty/ippicv/下创建文件downloads,然后在downloads下创建文件名为linux-32e315a5b106a7b89dbed51c28f8120a48b368b4,并将之前下载的ippicv压缩包放入该文件夹下,如下图所示:

最后再次打开opencv-3.4.5/3rdparty/ippicv/ippicv.cmake文件修改原来网络压缩包下载地址为手动下载好压缩包的文件地址,如下图所示:

现在重新cmake就能成功了!
5. 编译OpenCV
~/opencv-3.4.5/release/$ sudo make
~/opencv-3.4.5/release/$ sudo make install
6. 配置环境变量
~/opencv-3.4.5/release/$ sudo gedit /etc/ld.so.conf.d/opencv.conf
在文件内添加一行:/usr/local/lib
~/opencv-3.4.5/release/$ sudo ldconfig # 更新系统的共享链接库
sudo gedit /etc/bash.bashrc
在bashrc里末尾加入以下两行:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=/home/lp/soft/opencv-3.4.5/release/lib:$LD_LIBRARY_PATH
# 保存bashrc后,使其生效:
~/opencv-3.4.5/release/$ source /etc/bash.bashrc
7. 测试OpenCV安装是否正确
在opencv-3.4.5/samples/cpp下创建一个测试代码并放入一张图片如下:

用下面的命令创建测试代码:
~/opencv-3.4.5/samples/cpp$ nano ex2_1.cpp
#include <opencv2/opencv.hpp> //Include file for every supported OpenCV function
int main( int argc, char** argv ) {
cv::Mat imgOriginal;
imgOriginal = cv::imread("building.png");
//cv::Mat img = cv::imread("building.jpg");
if( imgOriginal.empty() ) return -1;
cv::namedWindow( "Example1", cv::WINDOW_AUTOSIZE );
cv::imshow( "Example1", imgOriginal );
cv::waitKey( 0 );
cv::destroyWindow( "Example1" );
return 0;
}
g++运行下面的命令:
~/opencv-3.4.5/samples/cpp$ g++ ex2_1.cpp -o ex2_1 `pkg-config opencv --cflags --libs`
~/opencv-3.4.5/samples/cpp$ ./ex2_1
这是如果弹出图片,说明OpenCV安装没问题,可以正常使用了。
在Linux下安装C++的OpenCV 3的更多相关文章
- Linux下安装 Posgresql 并设置基本参数
在Linux下安装Postgresql有二进制格式安装和源码安装两种安装方式,这里用的是二进制格式安装.各个版本的Linux都内置了Postgresql,所以可直接通过命令行安装便可.本文用的是Cen ...
- Linux下安装Tomcat服务器和部署Web应用
一.上传Tomcat服务器
- Linux下安装使用Solr
Linux下安装使用Solr 1.首先下载Solr.mmseg4j分词包.tomcat并解压,这用google.百度都可以搜索得到下载地址. 2.因为要使用到中文分词,所以要设置编码,进入tomcat ...
- Linux下安装tar.gz类型的jdk,并配置环境变量
近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...
- Linux下安装和配置JDK与Tomcat(升级版)
在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...
- Linux下安装cmake
cmake是一个跨平台的编译工具,特点是语句简单,编译高效,相对于原有的automake更为高效,接下来说明在Linux下安装cmake工具的过程 首先去cmake官网下载cmake安装包,下载界面网 ...
- linux下安装安装pcre-8.32
linux下安装安装pcre-8.32 ./configure --prefix=/usr/local/pcre 出现以下错误 configure: error: You need a C++ com ...
- CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)
在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...
- Linux下安装Apache并以mod_wsgi方式部署django站点
源码编译方式安装Apache 首先下载Apache源码压缩包,地址为http://mirror.bit.edu.cn/apache/httpd/ 继续下载apr和apr-util压缩包,地址为http ...
随机推荐
- MeteoInfoLab脚本示例:获取气团轨迹每个节点的气象数据
读取HYSPLIT输出的轨迹数据文件和相应时间的气象数据文件,生成轨迹图层,循环每条轨迹的节点,读出该节点的经度.纬度.气压.时间,通过对气象数据插值获得该节点的气象数据.脚本程序: #------- ...
- python实现elasticsearch操作-CRUD API
python操作elasticsearch常用API 目录 目录 python操作elasticsearch常用API1.基础2.常见增删改操作创建更新删除3.查询操作查询拓展类实现es的CRUD操作 ...
- pytest+allure生成接口自动化测试报告
准备环境 1.安装pytest pip install pytest -i http://pypi.douban.com/simple pytest-ordering pytest.main([ &q ...
- Python自动化准备工作(pycharm安装)
一.安装Python 1.下载python-3.7.0-amd64.exe后双击 2.勾选Add Python3.7 to PATH可不用配置环境变量 3.点击下一步,可以按默认路径,也可以自己选择路 ...
- linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)
一,alertmanager的用途 1,Alertmanager的作用: Alertmanager是一个独立的报警模块, 它接收Prometheus等客户端发来的警报,并通过分组.删除重复等处理, 通 ...
- nfs4使用中的防火墙配置
一,查看本地centos的版本: [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) ...
- java反射原来是这么玩的(反射一开,谁都不爱)
反射的发展历史 1996年01月23日,jdk 1.0版本发布,代号为Oak(橡树). 这个代号为Oak(橡树)的版本,在发布后的第二年,1997年02月19日,发布jdk 1.1版本,这次版本发布中 ...
- python3配置socks5代理进行爬取
一.代码 #!/usr/bin/python # -*- coding: UTF-8 -*- import requests import socket import socks SOCKS5_PRO ...
- maven 项目问题集锦
问题1: 新建的maven项目,没有src/main/java 源文件夹,创建时提示已经存在,创建不了 解决方法: 右键build path -> configure build path -& ...
- Paraview教程
快速入门 https://www.youtube.com/watch?time_continue=1017&v=Y1RATo2swM8 Cyprien Rusu系列 Paraview Vide ...