用树莓派3b编译opencv4.1.0

1.添加树莓派的swap交换区和扩展sd卡

我是直接使用sd卡进行系统烧录镜像的,不用扩展sd卡,容量显示正确,但是为了防止编译卡死,要添加树莓派的swap交换分区,编辑dphys-swapfile文件,

nano /etc/dphys-swapfile

将conf_swapsize 的值修改成你想要的大小,以mb为单位,设置为2G大小,保存之后,重启dphys-swapfile服务

sudo /etc/init.d/dphys-swapfile restart

最后查看交换空间的大小

free -m

2.下载和编译opencv

具体编译过程查看下面这篇文章:

编译过程

3.编译报错

报了两次文件缺失的错误,排错的方法参考下面这篇文章:

文件缺失报错解决方法

4.编译过程

编译的过程时间非常长,可以用make -j4来加速进行编译,但是用多线程来进行编译的时候,前期编译速度很快,但是到大概到70%的时候,编译的速度就越来越慢,一晚上只编译了5%!!!,早上醒来的时候,还卡在99%!!!,没办法我只好Ctrl+C中断之后重新编译,但还是卡在99%,我觉得有些奇怪,就打开了htop查看一下进程的信息,发现编译的进程根本就没有再运行,cpu的占用率也不太正确。进程的状态是D,查了一下之后得知,D状态表示进程正在不可中断的等待状态,我只好再次重新编译,但是这次我没有使用多进程进行编译,只用了make命令,果然正常了。

make -j4

89b3c1a5040909c19476b88270a764bc.png

等了半个小时左右终于编译成功了,泪流满面啊!!

c512718b3c78fd6476bbe175416d2a68.png

来一张显示图片的灰度的图片吧

a50091aa9ea64a734795e3eba40f409e.png

参考链接

树莓派swap交换分区的修改方法

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐