按照前面博客下载opencv的源码,放入到树莓派4B上
这里选择的版本是opencv3.4.4.如下配置一些前提库
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 libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
然后cd到opencv3.4.4下,如之前博客那样,进入opencv3.4.4根目录下
mkdir build cd build cmake.. sudo make -j1 #只安排一个线程去编译
注意如果在sudo make -j1过程中出现了如下错误信息:
c++: error: unrecognized command-line option ‘--param=ipcp-unit-growth=100000’; did you mean ‘--param=ipa-cp-unit-growth=’?
可以看到一些提示,应该是命令参数有改动,不识别了,尝试去提示的目录下修改build.make和flags.make, 将里面的ipcp-unit-growth全部替换为ipa-cp-unit-growth
完毕后,再次执行sudo make -j1,就可以正常编译了(需要花费较久时间,这也是为什么要交叉编译的原因,有时源码库太大,直接在嵌入式平台上太久,就需要在PC平台上交叉编译好)。最后执行语句进行安装
sudo make install
完毕后终端输入如下命令
pkg-config opencv --modversion
出现如下信息,说明成功安装。
pkg-config是个好东西,省的每次命令行模式执行时,要去跟一堆参数,指定lib,include在哪里,后面几篇配置这块都会用这种方式。这里还是拿前面博客说的源码自带的例子作为实验,example.cpp中的代码修还是改为如下:
#include#include #include using namespace cv;using namespace std; int main(){ Mat img = imread("/usr/108.bmp"); imshow("image", img); waitKey(0); return 0; }
同时放一张图片放到usr目录下,按照前面博客里的方式(CmakeFiles或者直接g++编译器)编译运行即可。
或者
到此配置成功!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)