**opencv从入门到入土之(3)树莓派配置opencv+C++编译**

树莓派从入门到入土之(3)树莓派配置opencv+c++编译
**

一、换源

**
在配置之前,如果你想让你的树莓派下载的速度更快,不妨先将其换成国内源(清华源),一般来说linux系统都是这么个换法
进入到 sources.list中去

sudo vim /etc/apt/sources.list

注释掉原文,不然镜像源没用的话你可就233了haha

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

注释的时候最前面加上#就好啦
同上哦

sudo vim /etc/apt/sources.list.d/raspi.list
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

更新一下软件包,升级已有包

sudo apt-get update
sudo apt-get upgrade

**

二、释放内存

**
配置树莓派是个很费时间的过程啊哈哈
提前做好准备呐
在terminal界面输入

df -h

**opencv从入门到入土之(3)树莓派配置opencv+C++编译**_第1张图片我才懒得好好截图呢(超小声)
如果和这个图一样你可能内存没释放完全
输入

sudo raspi-config

进入到这个界面
**opencv从入门到入土之(3)树莓派配置opencv+C++编译**_第2张图片

进入到第七个 Ad选择第一个 就可以拓展磁盘了
这样,重启一下后就变成了
**opencv从入门到入土之(3)树莓派配置opencv+C++编译**_第3张图片
释放掉所有内存 变成15G了
**

三、开始配置

**
安装构建OpenCV 相关的工具
其中包括build-essential、cmake、git和pkg-config等各种工具包

sudo apt-get install build-essential cmake git pkg-config

jpeg格式图像包:

sudo apt-get install libjpeg8-dev

tif格式图像包:

sudo apt-get install libtiff5-dev

jpeg-2000图像包:

sudo apt-get install libjasper-dev

png图像包:

sudo apt-get install libpng12-dev

安装视频I/O包

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

gtk2.0和优化函数包这两个包总是出问题,查了好久,才发现因为没换成国内源,才容易出的问题谨记谨记

sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran

使用wget工具下载OpenCV 压缩包并解压到用户目录下

wget -O opencv-3.4.1.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
unzip opencv-3.4.1.zip

下载OpenCV_contrib库并解压

wget -O opencv_contrib-3.4.1.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
unzip opencv_contrib-3.4.1.zip

进入到opencv的文件夹中`

cd opencv-3.4.1

新建一个名为release的文件夹用来存放cmake编译时产生的临时文件并进入

mkdir release
cd release

有的教程里加的是build文件,类似,具体请看opencv中build与release的区别
配置cmake编译参数

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.1/modules \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D BUILD_EXAMPLES=ON ..

这一步超级容易出错,在我栽了无数个跟头后。。。。没有回车,没有回车,没有回车!
就像这样
**opencv从入门到入土之(3)树莓派配置opencv+C++编译**_第4张图片
第98行那个样子
终终终终终终终终终于开始编译了
这个编译 我从下午3点等到晚上9点哈哈哈

sudo make

安装

sudo make install

更新动态链接库

sudo ldconfig

接下来有两种方法来编译opencv
我当然懒得搞cmake啦
直接调用动态链接库
创建一个test.cpp

#include 
#include
using namespace cv;
using namespace std;
int main()
{
	Mat image;
	image=imread("ali.jpg");
if(image.empty())
{cout<<"no image date""<

输入

g++ test.cpp `pkg-config opencv --libs --cflags opencv`

啥?你还想用wiring.h的库?
直接在后面加上 -lwiringPi。简单好用。
咳咳,跑题了
接着上面会出现**opencv从入门到入土之(3)树莓派配置opencv+C++编译**_第5张图片
黄色的test
输入

./test

粗来吧,我的阿狸小姐姐
**opencv从入门到入土之(3)树莓派配置opencv+C++编译**_第6张图片

错误报告
Gtk-WARNING **: cannot open display: :0
解决方法:vnc界面打开
./test: error while loading shared libraries: libopencv_stitching.so.3.4: cannot open shared object file: No such file or directory
解决方法:没有ldconfig
还有还有 我的树莓派好像写cv::就会报错不知道咋回事

最后附上一张图
学视觉的看了想打人
**opencv从入门到入土之(3)树莓派配置opencv+C++编译**_第7张图片

你可能感兴趣的:(opencv,树莓派配置,c++,机器视觉)