参考博文【嵌入式】Windows10&Ubantu16.04&树莓派3B+安装opencv教程
- 下载opencv
下载链接opencv - 放到Ubuntu,解压
unzip opencv-3.4.1.zip
- 进入文件,安装依赖库和cmake,进入root权限安装
sudo su
sudo apt-get update
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev
- 创建编译文件夹
mkdir my_build_dir
- 进入文件夹进行配置
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make
sudo make install
- 接下来需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到
sudo vi /etc/ld.so.conf.d/opencv.conf
把下面路径放到文件最后
/usr/local/lib
然后执行下面命令,生效
sudo ldconfig
- 配置bash
sudo vi /etc/bash.bashrc
在末尾加上
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
生效
source /etc/bash.bashrc
更新
sudo updatedb
安装完成,可以编写代码验证了。
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 读入一张图片
Mat img = imread("bx.jpg");
// 创建一个名为 "pic"窗口
namedWindow("pic");
// 在窗口中显示图
imshow("pic", img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
}
编译运行
g++ demo1.cpp `pkg-config --cflags --libs opencv`
/*
注释:
编译cpp文件用g++ test.c -o test 编译生成可执行文件
pkg-config:
1、检查库的版本号,避免连接错误版本的库文件
2、获取编译预处理参数,如宏定义、头文件位置
3、获得链接参数,如库及以来的其它库位置,文件名及其它一些连接参数
4、自动加入所以来的其他库位置
而-cflags是用来指定程序再编译时需要的头文件所在目录
-libs是指定程序再链接时所需要的动态链接库的目录
以此来获取opencv的头文件与库文件
*/
./a.out
解决报错Gtk-Message: Failed to load module "canberra-gtk-module"
执行下面命令
sudo apt-get install libcanberra-gtk-module