您的位置:首页 > 运维架构

Ubuntu16.04 LTS 安装OpenCV3.1.4教程

2018-03-01 13:17 573 查看
一、安装
1.安装cmake及一些依赖库

sudo apt-get install cmake

sudo apt-get install build-essential
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

2.下载源码
https://www.opencv.org/releases.html中选择sources源码进行下载

3.下载完后解压进入opencv目录执行下述命令(目录不要有中文)
CMAKE_INSTALL_PREFIX的参数是你opencv的目录。等号“=”后面不要有空格。
mkdir release
cd release
sudo cmake -D CMAKE_BUILD_TYPE=release -D CMAKE_INSTALL_PREFIX=~/opencv-3.4.1 ..
结果为这个代表cmake成功
-- Configuring done
-- Generating done
-- Build files have been written to: /root/opencv-3.4.1/release
然后继续执行:

make -j8 //j后面的参数使进程数,有多少进程就写多少 该命令执行后花费时间较长
make -j8 install 完成后显示:-- Set runtime path of "/root/opencv-3.4.1/bin/opencv_traincascade" to "/root/opencv-3.4.1/lib"
-- Installing: /root/opencv-3.4.1/bin/opencv_createsamples
-- Set runtime path of "/root/opencv-3.4.1/bin/opencv_createsamples" to "/root/opencv-3.4.1/lib"
-- Installing: /root/opencv-3.4.1/bin/opencv_annotation
-- Set runtime path of "/root/opencv-3.4.1/bin/opencv_annotation" to "/root/opencv-3.4.1/lib"
-- Installing: /root/opencv-3.4.1/bin/opencv_visualisation
-- Set runtime path of "/root/opencv-3.4.1/bin/opencv_visualisation" to "/root/opencv-3.4.1/lib"
-- Installing: /root/opencv-3.4.1/bin/opencv_interactive-calibration
-- Set runtime path of "/root/opencv-3.4.1/bin/opencv_interactive-calibration" to "/root/opencv-3.4.1/lib"
-- Installing: /root/opencv-3.4.1/bin/opencv_version
-- Set runtime path of "/root/opencv-3.4.1/bin/opencv_version" to "/root/opencv-3.4.1/lib"
4.配置 library:- 打开/etc/ld.so.conf.d/opencv.conf,在末尾加入/root/opencv-3.4.1/lib(该路径你的安装路径的lib子目录)

- 执行命令:sudo ldconfig
- 编辑 /etc/bash.bashrc,加入如下路径:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/root/opencv-3.4.1/lib/pkgconfig  (同上)
export PKG_CONFIG_PATH 

5.测试,新建文件名为test.cpp的文件,内容如下
#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("lena", img );
// 使程序暂停,等待用户触发一个按键操作,但如果该函数参数设为一个正数,则程序将暂停一段时间,
// 时间长为该整数值个毫秒单位
// 如果设置为0,那么将一直等待用户触发按键操作。
cvWaitKey(0);
// 内存释放功能
cvReleaseImage( &img );
// 关闭窗口
cvDestroyWindow("Example1");
}
打开终端,进入测试文件目录,输入命令:g++ test.cpp `pkg-config --libs --cflags opencv`
./a.out lena.jpeg   //lena,jpeg为测试图片名,请自行百度下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenCV 教程