用樹莓派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
等了半個小時左右終於編譯成功了,淚流滿面啊!!
來一張顯示圖片的灰度的圖片吧
參考鏈接
樹莓派swap交換分區的修改方法