opencv安装终结版
---恢复内容开始---
1、安装Qt5.9.1
Qt官网址:https://download.qt.io/official_releases/qt/
根据自己的需要选择版本,这里我选择的是qt-opensource-linux-x64-5.9.1.run下载之后通过ctrl+alt+t打开终端,输入下面的代码:
sudo apt-get update
cd DownLoads
chmod +x ./qt-opensource-linux-x64-5.9.1.run
sudo ./qt-opensource-linux-x64-5.9.1.run
即可出现图形化安装,按步骤安装即可。安装完后还要修改一些配置。在终端输入以下代码:
sudo vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
进入后按i,进行编辑。
修改第一行为gcc_64的bin目录,第二行为Qt5.9.1目录的路径,完成后保存退出。(按ESC,然后:,最后输入wq,Enter即可) 
之后,在终端输入以下代码:
sudo apt-get install libgl1-mesa-dev
Qt5.9.1安装完成。
编译报错的解决方案:

2. 安装OpenCV3.2.0(包括opencv_contrib)
安装opencv的依赖库
sudo apt-get -y install build-essential cmake pkg-config
sudo apt-get -y install libjpeg62-dev
sudo apt-get -y install libtiff5-dev libjasper-dev
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install git libgtk2.0-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
安装CMake
在终端输入以下代码:
sudo apt-get install cmake
OpenCV官网地址:https://opencv.org/
opencv_contrib github地址:https://github.com/opencv/opencv_contrib
选择对应版本下载即可。这里选择的是opencv3.2.0
将其解压,将会得到opencv-3.2.0和opencv_contrib-3.2.0这两个文件夹,将opencv_contrib-3.2.0放入oepncv中。在home建立一个software文件夹,将文件夹opencv-3.2.0放入software中,方便管理。之后打开终端输入以下代码:
cd software
cd opencv-3.2.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/wkl/software/opencv-3.2.0/opencv_contrib-3.2.0/modules/ ..
如果不安装opencv_contrib模块,则第二步的命令为:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
其中 CMAKE_INSTALL_PREFIX=/usr/local是指将要install的路径
其中 OPENCV_EXTRA_MODULES_PATH=/home/wkl/software/opencv-3.2.0/opencv_contrib-3.2.0/modules/ .. 是指 opencv_contrib-3.2.0 中 modules 所在的路径,后面的两点不可省略;
- 安装依赖库
#借助系统自带的opencv简化依赖安装步骤
$ sudo apt-get install -y libopencv-dev
|
1
2
3
4
|
$ sudo apt-get install -y cmake
#借助系统自带的opencv简化依赖安装步骤
$ sudo apt-get install -y libopencv-dev
|
- 编译源代码
$ mkdir build
$ cd build
$ cmake ..
$ make -j 10
|
1
2
3
4
5
6
7
8
9
|
$ cd opencv
$ mkdir build
$ cd build
$ cmake ..
$ make -j 10
|
- 替换已经安装的版本
|
1
|
$ sudo make install
|
- 编译出错的处理
如果执行cmake时候出现如下错误信息
FATAL: In-source builds are not allowed.
You should create separate directory for build files.
-- Configuring incomplete, errors occurred!
|
1
2
3
4
5
6
7
8
9
10
|
CMake Error at CMakeLists.txt:11 (message):
FATAL: In-source builds are not allowed.
You should create separate directory for build files.
-- Configuring incomplete, errors occurred!
|
则应该是在代码根目录下直接执行过cmake,导致根目录下生成了CMakeCache.txt,需要删除CMakeCache.txt再次执行编译即可。


cmake完成后,在终端进行下面的操作:
sudo make -j4
sudo make install
如果没有错误,则opencv3.2.0与opencv_contrib编译成功。

下面配置环境变量。
在终端中输入如下代码:
cd /
cd etc
cd ld.so.conf.d
sudo vim opencv.conf
创建文件并进入后按i插入添加新内容/usr/local/opencv330/lib
在终端输入如下代码可查看:
sudo cat /etc/ld.so.conf.d/opencv.conf
接着在终端输入:
sudo ldconfig
继续下一步,添加环境变量(添加到文件末就行)
sudo gedit /etc/bash.bashrc
添加的内容是:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv330/lib/pkgconfig export PKG_CONFIG_PATH
保存,退出。
opencv3.2.0配置完成。
3.测试
打开QtCreator,点击File,选择New File or Project,选择None-Qt Project,选择Plain
C++ Project,点击choose ,然后基本都选默认的就行。项目建立完成后就会看到一个*.pro文件,修改.pro文件中的内容,如下:
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
QT += core
QT -= gui
TARGET = opencv_test
LIBS += /usr/local/opencv330/lib/libopencv*
INCLUDEPATH += /usr/local/opencv330/include/
/usr/local/opencv330/include/opencv/
/usr/local/opencv330/include/opencv2
将下面的cpp文件copy 到main.cpp中:
#include
int main()
{
cv::Mat image = cv::imread("/home/Picture/lena.jpg", cv::IMREAD_COLOR);
cv::imshow("Lena",image);
cv::waitKey(0);
return 0;
}
---恢复内容结束---
opencv安装终结版的更多相关文章
- OpenCV安装与配置
本文使用OpenCV2.48在win10平台下操作. 一,关于OpenCV OpenCV是开源C++计算机可视化处理库,它集成了很多计算机图形图像处理的功能.还有机器学习,字符识别,人脸识别,物体检测 ...
- OpenCV学习笔记——OpenCV安装
关于OpenCV安装 1.下载和安装OpenCV SDK 在官网:http://opencv.org/上找到OpenCV windows版下载 . 后得到一个 opencv-2.X.X.exe的文件, ...
- 蜻蜓特派员 Windows XP SP3 纯净终结版
蜻蜓特派员Windows XP SP3 纯净安装版 终结版,系统纯净无广告.无插件,网卡等驱动和运行库齐全,安全更新补丁全网最新!微软停止了 Windows XP 的支持之后还是偶尔为 WinXP 提 ...
- C#调用OpenCV开发简易版美图工具
前言 在C#调用OpenCV其实非常简单,因为C#中有很多OPenCV的开源类库. 本文主要介绍在WPF项目中使用OpenCVSharp3-AnyCPU开源类库处理图片,下面我们先来做开发前的准备工作 ...
- linux/ubuntu下最简单好用的python opencv安装教程 ( 解决 imshow, SIFT, SURF, CSRT使用问题)
希望这篇文章能彻底帮你解决python opencv安装和使用中的常见问题. 懒人请直奔这一节, 一条命令安装 opencv 使用python-opencv常用的问题 在linux中使用python版 ...
- Python版本OpenCV安装配置及简单实例
# 2018-06-03 # 1. Python下载:https://www.python.org/downloads/ 选择对应平台对应版本的的Python进行安装. 2. Python版OpenC ...
- Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)
Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...
- IOS之UI--小实例项目--添加商品和商品名(使用xib文件终结版) + xib相关知识点总结
添加商品和商品名小项目(使用xib文件终结版) 小贴士:博文末尾有项目源码在百度云备份的下载链接. xib相关知识点总结 01-基本使用 一开始使用xib的时候,如果要使用自定义view的代码,就需要 ...
- 抛弃vboot不格盘用grub4dos+firadisk安装Ghost版XP到VHD,轻松RAMOS!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=363198&extra=抛弃vboot不格盘用grub4dos+firadisk安 ...
随机推荐
- 依赖: nginx-common (= 1.14.0-0ubuntu1) 但是它将不会被安装
.apt --fix-broken install .sudo apt-get remove nginx nginx-common # 卸载删除除了配置文件以外的所有文件. .sudo apt-get ...
- CCPC-Wannafly Winter Camp Day5 Div1 - Sorting - [线段树]
题目链接:https://zhixincode.com/contest/22/problem/I?problem_id=314 样例输入 1 5 9 31 5 3 2 41 1 52 1 51 1 1 ...
- [No000016F]高并发下线程安全的单例模式(最全最经典)
在所有的设计模式中,单例模式是我们在项目开发中最为常见的设计模式之一,而单例模式有很多种实现方式,你是否都了解呢?高并发下如何保证单例模式的线程安全性呢?如何保证序列化后的单例对象在反序列化后任然是单 ...
- Scss基础用法
Scss基础用法 一.注释用法: (1)//comment:该注释只是在.scss源文件中有,编译后的css文件中没有. (2)/! /:重要注释,任何style的css文件中都会有,一般放置css文 ...
- js Dom对象的属性与方法
1.对象集合: (1).all[]; (2).images[]; (3).anchors[]; (4).forms[]; (5).links[]; ...
- cxgridchart饼状图
var VIEW:TcxGridDBChartView; Level:TcxGridLevel; Series:TcxGridDBChartSeries; begin View := cxGrid1. ...
- day4_高效处理文件
read()将文件内容从磁盘中全部读出,放到内存,再给cpu处理,性能低,如果文件量大,很容易内存溢出或卡死. 高效方式: 方式一:一般不用的,代码行多 f = open('users.txt','r ...
- LeetCode 700 Search in a Binary Search Tree 解题报告
题目要求 Given the root node of a binary search tree (BST) and a value. You need to find the node in the ...
- notify,wait,synchronized实现线程间通知
wait阻塞线程释放锁:notify使wait所在的线程被唤醒在次获得锁,并执行,但要等到notify所在的线程代码全部执行后! 示例代码如下: package com.vhbi.service.im ...
- HashMap如何解决取Value值为Null
场景: 用HashMap方法时候,取Keys时候自认为敲的肯定是准确无误,然后能得到对应的Values 值. 但写脚本代码时候不好习惯,没事总喜欢敲个空格建,导致取Keys之后多空格. Featur ...