(4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤
Ubuntu下配置opencv3.1.0开发环境
1、最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享
2、步骤说明
一、安装OpenCV3.1.0
1.使用wget下载opencv源码
url : https://github.com/Itseez/opencv/archive/3.1.0.zip
sudo apt-get install wget sudo wget https://github.com/Itseez/opencv/archive/3.1.0.zip
2.解压ZIP源码文件
sudo apt-get install unzip
sudo unzip opencv-3.1.0.zip
3.进入源码目录,创建release目录
cd opencv-3.1.0
mkdir release
4.安装依赖库
sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
5. 进入release目录,安装OpenCV时,所有的文件都会被放到这个release目录下
cd release
6. cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local/opencv3.1.0目录下
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.1.0 ..
/自己的定义路径/opencv-3.1.0/modules/cudalegacy/src下的 graphcuts.cpp中
注意一点:在cmake到92%的时候会出现一个错误,针对这个错误,我们把#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
修改为:#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)即可,然后再次cmake即可。
7.安装
sudo make install -j8
二、配置pkg-config(可选)
1.创建pkgconfig目录
mkdir /usr/local/pkgconfig
2.拷贝opencv.pc文件到pkgconfig目录
cp /usr/local/opencv3.1.0/lib/pkgconfig/opencv.pc /usr/local/pkgconfig/opencv3.1.0.pc
3.以管理员权限用vim打开bash
sudo vim ~/.bashrc
4.在文件最后一行添加环境变量
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/pkgconfig
export PKG_CONFIG_PATH
5.wq保存文件后,source文件(执行脚本)
source ~/.bashrc
6.测试pkgconfig
pkg-config --libs opencv3.1.0
三、配置lib环境变量
1、用vim打开/etc/ld.so.conf文件,添加上以下两行:
①/usr/loacal/opencv-3.1.0/lib
②/root/opencv/opencv-3.1.0/release/lib
四、程序测试
在任意一个目录下创建test.cpp文件,用vi编写如下内容:
- #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("Noimage data\n");
- return -1;
- }
- namedWindow("DisplayImage",CV_WINDOW_AUTOSIZE);
- imshow("DisplayImage",image);
- waitKey(0);
- return 0;
- }
使用g++编译的时候使用命令:g++ `pkg-config --cflags opencv` -o test test.cpp `pkg-config --libs opencv`
五、其他参考博客:http://blog.csdn.net/c406495762/article/details/62896035
(4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤的更多相关文章
- 转[开发环境配置]在Ubuntu下配置舒服的Python开发环境
在Ubuntu下配置舒服的Python开发环境 Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的 ...
- 39 Ubuntu下配置python的vscode开发环境
0 引言 最近想在ubuntu下搞深度学习,首先配置了python的vscode开发环境.在配置python时,选择了Anaconda3.x,保证了其相对于系统python2.x的独立性.另外,vsc ...
- 在linux ubuntu下搭建深度学习/机器学习开发环境
一.安装Anaconda 1.下载 下载地址为:https://www.anaconda.com/download/#linux 2.安装anaconda,执行命令: bash ~/Downloads ...
- 在Ubuntu下配置舒服的Python开发环境
Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.0 ...
- Ubuntu下配置舒服的Python开发环境
Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.0 ...
- Linux下搭建gtk+2.0开发环境
安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- linux/centos下安装nginx(rpm安装和源码安装)详细步骤
Centos下安装nginx rpm包 ...
- 【转】在Ubuntu下建立Eclipse的Android开发环境
本文将介绍如何建立Ubuntu下基于Eclipse的Android开发环境的方法. 大部分的Android开发者都是使用Eclipse来开发Android,本文将向各位介绍一下建立Ubuntu下基于E ...
随机推荐
- Jmeter之JDBC--Mysql
一.添加JDBC Connection Configuration控件 界面显示如下: 配置说明: 1.名称:标识 2.注释:备注信息 3.Variable Name:定义的变量名,供后续调用: 4. ...
- 倾旋之slack主题协同
源:https://pocketcorp.slack.com/join/shared_invite/enQtNTk2MDYwNDA4NzU0LTg3ZGVlNDE5NWUzNjJhZTc1MDQ5MT ...
- 解决django项目在ubuntu系统上无法安装mysqlclient
首先我的项目是django2.0,python环境是3.5. 我们在本地开发完django项目了,在本地运行是成功的,然后我们把django项目放到服务器上,运行的时候就出错了. 如图: 我们都知道, ...
- Node.JS实战36:写一个WAF中间件!防黑客,防攻击
如果用Node.JS做Web服务,很多时候是会选择Express的. 本文,将展示如何如何实现一个WAF中间件. WAF有什么用? WAF即Web Application Firewall,Web应用 ...
- Java集合概括总结及集合选用
Collection 1. List ArrayList :Object数组,是一个数组队列,相当于动态数组.它由数组实现,随机访问效率高,随机插入.随机删除效率低. LinkedList :是一个双 ...
- [hdu6558][CCPC2018吉林D题]The Moon(期望dp)
题目链接 当时年少不懂期望$dp$,时隔一年看到这道题感觉好容易.... 定义状态$dp[i]$表示当前的$q$值为$i$时的期望,则当$q$值为$100$时$dp[100]=100/q$,这时后发现 ...
- 洛谷P4391 [BOI2009]Radio Transmission 无线传输
(https://www.luogu.org/problemnew/show/P4391) 题目描述 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最 ...
- python Calendar 模块导入及用法
Calendar 是python 日历模块,此模块的函数都是日历相关的,例如打印某月的字符月历,星期之类的模块,下面剖析python Calendar 模块导入及用法. 1,python导入日历模块 ...
- vue 一个轮播的组件
当我们进行开发的时候,并不是说所有信息都会在写一个组件中 作为项目的老大,我们要去思考每个文件下面需要放什么业务,分的越细.越合理为好 我们在componts文件下新建一个Banner.vue 组件 ...
- ReentrantLock等待通知机制Condition介绍
Object类中的wait(),notify()和notifyAll()可以实现线程的等待通知模型,同样在ReentrantLock中可以借助Condition来完成这种机制.本篇就简要介绍Condi ...