Opencv(源码) Ubuntu 安装

来源:互联网 发布:fatego斯卡哈技能数据 编辑:程序博客网 时间:2024/06/03 14:12

Opencv(源码) Ubuntu 安装

环境:


ubuntu 16.04 64bit
源码地址:

https://github.com/opencv/opencv/releases/tag/3.3.0

安装:

1.更新系统

sudo apt-get update   sudo apt-get upgrade

2 搭建C/C++编译环境:

sudo apt-get install cmake git 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

3.解压源码

tar vxf opencv-3.3.0.tar.gz

4.进入源码新建文件夹

cd opencv-3.3.0/mkdir releasecd releasecmake ../ -DCMAKE_BUILD_TYPE=RELEASE -DsCMAKE_INSTALL_PREFIX=/usr/local

5.编译安装

make -j8;sudo make install

6.设置环境变量

用vim打开/etc/ld.so.conf,注意要用sudo打开获得权限,不然无法修改,如:sudo vim /etc/ld.so.conf,在文件中加上一行/usr/loacal/lib,/user/loacal就是makefile中指定的安装路径再运行sudo ldconfig,修改bash.bashrc文件,sudo gedit /etc/bash.bashrc在文件末尾加入:PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport PKG_CONFIG_PATH重新启动一个终端就可以了

碰到的问题:

在源目录中直接cmake . 报错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 . 源码目录下会出现一个CMakeCheck.txt 的文件,删掉进入到新建的文件夹下按照第4步操作安装步骤中的第4步新建文件夹就是这个原因

显示图片例子:

#include <opencv/highgui.h>#include <opencv/cv.h>int main( int argc, char** argv ){    // 是一个高层调用接口,它通过文件名确定被加载文件的格式;      // 且该函数自动分配图像数据结构所需的内存。      // cvLoadImage可以读取大多数格式的图像文件,BMP、DIB、JPEG、JPE、PNG、BBM、PPM      // SR、RAS、TIFF      // 函数执行完后返回一个指针,此指针指向一块为描述该图像文件的数据结构而分配的内存块。      IplImage* img = cvLoadImage( argv[1] );    //  cvNamedWindow由HighGUI库提供,用于在屏幕上创建一个窗口,将被显示的图像包含于该窗口中。      // 函数第一个参数指定了窗口的的窗口标题。      // 如果要使用HighGUI库所提供的其他函数与该窗口进行交互,我们将通过该参数值引用这个窗口中。      cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE );    // 显示该图像      cvShowImage("Example1", img );    // 使程序暂停,等待用户触发一个按键操作,但如果该函数参数设为一个正数,则程序将暂停一段时间,      // 时间长为该整数值个毫秒单位      // 如果设置为0,那么将一直等待用户触发按键操作。      cvWaitKey(0);    // 内存释放功能      cvReleaseImage( &img );    // 关闭窗口      cvDestroyWindow("Example1");    }保存文件:imagetest.cpp

编译 :

g++ imagetest.cpp `pkg-config --libs --cflags opencv` 运行:./a.out lena.png