開源之Ubuntu:下載原始碼安裝openCV並解決找不到cv2模組問題

之前有一篇關於在Ubuntu終端命令列下安裝OpenCV的文章,雖然當時成功了,import cv2也正常能用。不過幾天后(中途安裝過別的軟體包),機智客忽然發現自己電腦上OpenCV出錯了。很奇怪,還以為沒裝還是什麼,於是就從網站上下載原始碼重新安裝。

首先,Ubuntu系統裡已經安裝了cmake,正常。然後安裝了一些環境依賴。先執行sudo apt install build-essential命令,然後就是sudo apt install libgtk2。0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev和sudo apt-get install pkg-config。這裡其實就是多個軟體包一起安裝。這些安裝好了,再去網站下載OpenCV的原始碼。機智客之前用OpenCV原始碼安裝過一次,前面都好好的,到最後一步出錯了,鬱悶死,於是重頭再來。懷疑是某個依賴的問題。

下載原始碼回來後,解壓到本地目錄下,進入這個解壓後的OpenCV資料夾,在裡面新建build資料夾。可以mkdir命令也可以介面右鍵執行。然後進入build新資料夾,執行sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local 。。命令。注意後面兩個點。然後就是sudo make。這一步消耗時間非常長,你上個廁所再倒杯水喝掉也未必能結束,所以耐心等待吧。等結束並返回終端命令介面的時候,我們就可以執行sudo make install命令。這個一瞬間就完成了。

這裡其實已經好了,然後需要配置環境。這裡需要編輯文字檔案,隨便你用哪個文字編輯器。比如機智客習慣於用nano。那就是用sudo nano /etc/ld。so。conf。d/opencv。conf命令,開啟後這個檔案只有一行,在這個檔案最後加上,include /usr/local/lib這個路徑其實就是對應了上面的命令。

然後執行sudo ldconfig,再用文字編輯工具修改bash。bashrc檔案,這裡是執行sudo nano /etc/bash。bashrc移動游標到檔案最末端行,新增PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig和export PKG_CONFIG_PATH兩行。然後就是source /etc/bash。bashrc命令執行指令碼。最後可以更新一下,用sudo updatedb命令。這個命令出錯了,看網上說是需要apt-get install mlocate命令,於是執行,再sudo updatedb就正常了。這下我們就可以檢驗完成了。這裡在OpenCV/sample/cpp/example_cmake資料夾下執行cmake 。和make然後就是執行。/opencv_example正常。這裡沒有安裝攝像頭。

需要說明的是,一般在Python的pip下安裝OpenCV,直接用那個sudo pip3 install opencv-python終端命令,如果不行,可以去網上下載opencv_python-4。5。1。48-cp38-cp38-manylinux2014_x86_64。whl這樣的軟體包,在本地安裝即可。不過這個可以成功安裝,但未必能解決import cv2這樣的找不到模組的問題。機智客這裡依然提示找不到模組。機智客在這一步折騰了很久,後來看網上有人猜測是版本問題。這個應該是可以的,而機智客則還刪除了之前安裝的anaconda,然後複製cv2。cpython-38-x86_64-linux-gnu。so和cv。so兩個檔案解決的。

相關文章