ubuntu 16.04下安装使用OpenCV2.4.13
来源:互联网 发布:教学质量分析软件 编辑:程序博客网 时间:2024/05/29 09:22
本来项目是在Windows下写的,结果对接的时候发现要在Linux下实现,没办法只能重新移植了。以前在ubuntu上使用过OpenCV,可惜系统已经重新安装过,只能重新来一遍了,索性就记录一下安装过程,免得下次再有重新安装的可能。
要用OpenCV,最好的还是用源代码自己编译一下,这样在使用的过程中出现问题的可能性比较小。所以可以的话,就不要直接使用官网下载的已经build好的库来配置。不过在linux下只能下载源代码来自己进行编译了。
点击右上角的保存,然后关闭文件,然后输入下面命令使得配置生效:
继续用gedit打开bash文件:
然后文件拉到最末尾,添加:
保存并关闭文件,接着输入下面的命令,为了使文件生效:
注意:如果你是第一次用root用户的话,可能会出现这样的错误:
然后就会提示你输入两次密码,更新成功:
然后编译运行:
注意上面这段代码后面两个类似引号的符号是你的键盘左上角数字1旁边的那个 ` ,而不是单引号 ' 。
我在生成的时候报了一个错误:
为了方便,我们用makefile的方式来运行这个程序。
在display.cpp所在的文件夹下创建一个CMakeLists.txt文件,打开输入下面的内容:
然后打开Terminal,输入命令:
如果你的电脑中安装了CUDA,这个时候会出现一个这样的错误:
这个错误就是CUDA引起的,解决方法也很简单,我们在find_package(OpenCV REQUIRED)之前加上:
再重新输入上面的编译命令就可以成功显示了。
要用OpenCV,最好的还是用源代码自己编译一下,这样在使用的过程中出现问题的可能性比较小。所以可以的话,就不要直接使用官网下载的已经build好的库来配置。不过在linux下只能下载源代码来自己进行编译了。
Windows下要编译源码的话需要用到cmake这个软件,Linux下同样需要使用这个工具,不过在Linux下就不需要下载什么软件了,直接Terminal就搞定。下面是详细过程。
Step 1:准备工具
// 安装编译工具sudo apt-get cmakesudo apt-get build-essential// 安装依赖包sudo apt-get 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
Step 2:下载编译OpenCV2.4.13
在OpenCV官网下载OpenCV2.4.13的源代码。(因为OpenCV 3.0使用总是有问题,所以我一直用这个版本)
选择下载zip安装包或者tar.gz都是可以的,随便选择其中一个。
下载完成之后打开下载的目录,然后解压安装包:
选择下载zip安装包或者tar.gz都是可以的,随便选择其中一个。
下载完成之后打开下载的目录,然后解压安装包:
unzip opencv-2.4.13.zip
cd opencv-2.4.13/// 新建一个临时文件夹用于存放编译的文件mkdir release// 切换到新建的文件夹下cd release/// 配置路径,编译cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..make -j4 //这是电脑cpu核数,查看一下自己的是几核,改成对应的数字
然后就开始漫长的编译过程了,耐心等待一段时间吧。编译成功大概是下面这个样子的:
[100%] Linking CXX executable ../../bin/opencv_test_gpu/usr/bin/ld: warning: libpcre.so.1, needed by //home/jianqiang/anaconda2/lib/libgobject-2.0.so.0, not found (try using -rpath or -rpath-link)[100%] Built target opencv_test_gpu[100%] Linking CXX shared library ../../lib/cv2.so[100%] Built target opencv_pythonjianqiang@jianqiang-Ubuntu:~/Downloads/opencv-2.4.13/release$
sudo make install
Step 3:后续配置
下面的配置主要是做一些路径上的改动,以便于OpenCV可以被系统找到。
首先用gedit新建一个配置文件,注意这里只能用sudo+gedit的方式新建,因为是在系统文件下进行操作。
首先用gedit新建一个配置文件,注意这里只能用sudo+gedit的方式新建,因为是在系统文件下进行操作。
sudo gedit /etc/ld.so.conf.d/opencv.conf
/usr/local/lib
点击右上角的保存,然后关闭文件,然后输入下面命令使得配置生效:
sudo ldconfig
继续用gedit打开bash文件:
sudo gedit /etc/bash.bashrc
然后文件拉到最末尾,添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport PKG_CONFIG_PATH
保存并关闭文件,接着输入下面的命令,为了使文件生效:
su //获取root权限,否则下面的source命令不可用
注意:如果你是第一次用root用户的话,可能会出现这样的错误:
su: Authentication failure
如果出现这个错误的话,按照下面的方法更新一下密码即可:
sudo passwd root
然后就会提示你输入两次密码,更新成功:
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
source /etc/bash.bashrc
jianqiang@jianqiang-Ubuntu:~$ suPassword: root@jianqiang-Ubuntu:/home/jianqiang# source /etc/bash.bashrc
sudo updatedb //更新database
Step 4:测试安装是否成功
写了下面一个简单的display.cpp程序:
#include <stdio.h>#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;int main(){ Mat image = imread("timg_1.jpg", 1); if (image.empty()) { std::cout << "Image file is empty." << std::endl; return -1; } namedWindow("Test"); imshow("Test", image); waitKey(0); return 0;}
然后编译运行:
g++ Dis.cpp -o Dis.o `pkg-config --cflags --libs opencv`
注意上面这段代码后面两个类似引号的符号是你的键盘左上角数字1旁边的那个 ` ,而不是单引号 ' 。
我在生成的时候报了一个错误:
/usr/bin/ld: warning: libpcre.so.1, needed by //home/jianqiang/anaconda2/lib/libgobject-2.0.so.0, not found (try using -rpath or -rpath-link)
cd /usr/lib/x86_64-linux-gnu sudo ln -s ~/anaconda2/lib/libpcre.so.1 libpcre.so.1 sudo ldconfig
为了方便,我们用makefile的方式来运行这个程序。
在display.cpp所在的文件夹下创建一个CMakeLists.txt文件,打开输入下面的内容:
cmake_minimum_required(VERSION 2.8)project( Display )find_package( OpenCV REQUIRED )add_executable( Display display.cpp )target_link_libraries( Display ${OpenCV_LIBS} )
然后打开Terminal,输入命令:
cmake . //注意cmake后面是一个空格加一个黑点,这其实是cmake CMakeLists.txt的省略写法make./Display timg_1.jpg
如果你的电脑中安装了CUDA,这个时候会出现一个这样的错误:
/usr/bin/ld: cannot find -lopencv_dep_cudart
这个错误就是CUDA引起的,解决方法也很简单,我们在find_package(OpenCV REQUIRED)之前加上:
set(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
再重新输入上面的编译命令就可以成功显示了。
阅读全文
0 0
- ubuntu 16.04下安装使用OpenCV2.4.13
- OpenCV2.4.13 Ubuntu & Window下安装配置
- ubuntu下安装OpenCV2.0
- Ubuntu下安装opencv2.4.10
- Ubuntu下opencv2.4.9安装
- ubuntu下编译安装opencv2.4.13和3.1.0
- ubuntu 14.04安装opencv2.4.13
- Ubuntu 16.04 安装opencv2.4
- OpenCV2.3.1安装在ubuntu下
- Ubuntu Kylin14.10下安装openCV2.4.10
- Ubuntu下安装配置Opencv2.4.9
- Ubuntu下OpenCV2.4.13.2的配置
- ubuntu 安装OpenCV2.3
- ubuntu 安装opencv2.3.1
- Ubuntu安装Opencv2.4.9
- Ubuntu 安装 opencv2.4.9
- Ubuntu linux下安装OpenCV2.4.1所需包
- Ubuntu Linux下安装OpenCV2.4.1所需包
- mongodb远程连不上的解决方法
- 前端基本功—js第二天
- Redis常用命令
- Linux系统下安装jdk详细步骤(共两种方法)
- ubuntu 解決搜狗无法输入中文的问题
- ubuntu 16.04下安装使用OpenCV2.4.13
- CSS选择器中 后代选择器和派生选择器有什么区别?
- oozie扩展action
- Spring编程<五>
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)
- 算法设计与分析
- React Native原生模块的基本使用
- 不相交集ADT-概述
- window ,linux yaf创建目录