树莓派从入门到入土之(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
我才懒得好好截图呢(超小声)
如果和这个图一样你可能内存没释放完全
输入
sudo raspi-config
进入到第七个 Ad选择第一个 就可以拓展磁盘了
这样,重启一下后就变成了
释放掉所有内存 变成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 ..
这一步超级容易出错,在我栽了无数个跟头后。。。。没有回车,没有回车,没有回车!
就像这样
第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。简单好用。
咳咳,跑题了
接着上面会出现
黄色的test
输入
./test
错误报告
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::就会报错不知道咋回事