樹莓派編譯opencv,關於99%卡死的解決方法

用樹莓派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交換分區的修改方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章