opencv 源碼編譯

opencv自己編譯

之前用樹莓派做人臉識(shí)別,臺(tái)式機(jī)用的64位ubuntu訓(xùn)練模型,樹莓派用的32位raspi系統(tǒng)使用。
以下提供給大家參考:
?以下內(nèi)容為快速安裝的方式,無需自己編譯喲!此方法很方便

一般化快速安裝環(huán)境

  1. 依賴安裝
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libhdf5-dev libhdf5-serial-dev
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev
  1. 翻墻下載此內(nèi)容:點(diǎn)我下載
  2. cd到下載的內(nèi)容位置進(jìn)行安裝:
sudo pip3 install opencv_contrib_python-3.4.3.18-cp37-cp37m-linux_armv7l.whl

直接import就可以玩了

對(duì)于一般的小伙伴來說,以上安裝opencv方案已經(jīng)完美了
但對(duì)我來說,其結(jié)果是啪啪啪打臉,因?yàn)槲沂褂玫膕klearn訓(xùn)練的模型在跨系統(tǒng)下根本不能兼容。報(bào)錯(cuò)如下:(此錯(cuò)誤為python讀取模型文件的錯(cuò)誤,不是opencv的錯(cuò)喲!)

ValueError: Buffer dtype mismatch, expected 'ITYPE_t' but got 'long long'

我嘗試過將model文件轉(zhuǎn)換成可以序列的json,也總是失敗,一怒之下,直接把樹莓派刷成了專門適用于樹莓派4b8g的ubuntu server 64bit系統(tǒng)
(現(xiàn)在時(shí)間為2020-10-27,ubuntu mate還沒有4b版本的系統(tǒng),官方測(cè)試版raspi64bit垃圾)
然而此ubuntu server系統(tǒng)為aarch64,沒有這類opencv環(huán)境或者whl文件可以用,因此需要自己使用opencv源碼進(jìn)行編譯!

自己編譯opencv由此開始:

================下面開始真正的操作===========================
利用apt-get先把上面?中的依賴下一遍

  1. 下載你想要的opencv源碼和opencv-contrib源碼(兩個(gè)都得有!!),如果git clone速度慢,可以直接去github或者官網(wǎng)去下,
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
  1. 進(jìn)入opencv目錄進(jìn)行如下操作:
cd opencv
mkdir build
cd build
  1. 構(gòu)建項(xiàng)目,注意參數(shù)的地址一定要對(duì)應(yīng)你自己電腦(樹莓派)上的python位置和環(huán)境,小編為了便于觀看和理解,擅自給每條指令加了回車,所以使用的時(shí)候需要去掉回車,用空格切分:
cmake -D CMAKE_BUILD_TYPE=Release 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D OPENCV_EXTRA_MODULES=../../opencv_contrib/modules 
PYTHON3_EXECUTABLE = /usr/bin/python3
PYTHON_INCLUDE_DIR = /usr/include/python3.5
PYTHON_INCLUDE_DIR2 = /usr/include/arm-linux-gnueabihf/python3.5m
PYTHON_LIBRARY = /usr/lib/arm-linux-gnueabihf/libpython3.5m.so
PYTHON3_NUMPY_INCLUDE_DIRS = /home/pi/.local/lib/python3.5/site-packages/numpy/core/include/
..
  1. 開始編譯,此過程超級(jí)漫長(zhǎng)!我的小樹莓派用了2個(gè)多小時(shí)吧!
make -j4
sudo make install
  1. 刷新動(dòng)態(tài)庫(kù)
sudo ldconfig

以上順利的話編譯完成了,進(jìn)入python3之后使用import cv2進(jìn)行測(cè)試,如果報(bào)某moudle找不到,根據(jù)信息進(jìn)行pip3 install進(jìn)行下載即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文主要針對(duì)Ubuntu 17.04版本下,opencv進(jìn)行源碼編譯安裝。開發(fā)環(huán)境主要針對(duì)python 對(duì) ope...
    jockerMe閱讀 1,750評(píng)論 0 3
  • Opencv3.1 & Opencv3.2 第一種方式(適用于Linux):一、準(zhǔn)備工作1、倉(cāng)庫(kù)的更新:sudo ...
    渣渣輝閱讀 2,696評(píng)論 1 6
  • 安裝opencv 說明:硬件:raspberry 3BOpenCV:3.4.1SD卡剩余空間至少保證10G以上 本...
    高巨龍閱讀 14,663評(píng)論 0 7
  • 漸變的面目拼圖要我怎么拼? 我是疲乏了還是投降了? 不是不允許自己墜落, 我沒有滴水不進(jìn)的保護(hù)膜。 就是害怕變得面...
    悶熱當(dāng)乘涼閱讀 4,463評(píng)論 0 13
  • 感覺自己有點(diǎn)神經(jīng)衰弱,總是覺得手機(jī)響了;屋外有人走過;每次媽媽不聲不響的進(jìn)房間突然跟我說話,我都會(huì)被嚇得半死!一整...
    章魚的擁抱閱讀 2,364評(píng)論 4 5

友情鏈接更多精彩內(nèi)容