2. Jetson TX2--python3下編譯安裝opencv3.4


https://cloud.tencent.com/developer/article/1327273

jetpack3.2自帶了opencv3.3,但是只提供了python2.7的編譯版本,所以也只能在python2.7下使用,我本來以為有什么更簡單的方法鏈接到python3中,但是遍查資料也沒人說過這個東西,直到我找到一篇博客。 how to install opencv3.4.0 on jeson TX2 這片文章寫得非常好,把刷完機后所有的准備工作都寫得很清楚,包括如何卸載舊的opencv版本。我就不重新寫一遍了,只說下大概可能遇到的問題。

  1. 安裝matplotlib出錯。 前面卸載安裝一些東西都很順利,直到安裝matplotlib的時候會報錯(如果沒有報錯就不用管了),原因是需要一些預裝庫python3-tk。nose庫。所以按照下面的命令依次安裝就可以了。
sudo apt-get install python3-tk pip3 install nose pip3 install pillow pip3 install spicy pip3 install matplotlib
  1. 下載時網速很慢。 這個主要是下載opencv的時候很慢,還有個什么下載也很慢,我的解決方法就是換了手機熱點,然后網速嗖嗖的,基本上解決了,移動4g,聯通電信不太清楚,我用的是校園網,所以可能有這個問題,如果是其他的網絡的話可能就沒有問題。
  2. 修改cuda_gl_interop.h 教程里的是通過vim進去的,對vim很熟的就不說了,先進入insert模式然后再推出,輸入冒號:,輸入wq保存退出,實際上就是給那幾行加了注釋。
  3. 對照一下General configuration for OpenCV 3.4.0。 對照一下這個信息保證正確,如果不對的話就回去查看下cmake時候輸入的配置信息。

這樣應該就沒有什么問題了,python2和python3都安裝上了opencv,可以愉快的使用了。

test:

c++程序使用

這個是補的,當時編譯完只有只測試過python環境下是可以用的了,但是c++版本的並沒有測試,后來需要編譯c++程序的時候發現還是有問題,會提示找不到包含opencv的文件夾。原因是因為還沒有把編譯好的opencv添加到linux的系統路徑中。

首先修改配置文件: sudo vim /etc/ld.so.conf 在其后添加opencv編譯的lib的路徑。

比如我的添加完了之后是這樣的(顯示器被借走了,所以今天是遠程連接截圖,win風格莫在意!)。 然后在運行 sudo ldconfig 這個命令的用途是在ld.so.conf內所列的目錄下搜索可共享的動態鏈接庫,進而創建出動態裝入程序所需要的連接和緩存文件。具體可以參見這里,一般在重啟系統時會自動運行,當用戶安裝了一個新的動態鏈接庫的時候,如果不想重啟則需要手動運行這個命令。

然后修改bash.bashrc文件。 sudo vim /etc/bash.bashrc 在最后添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

添加完成之后長這樣:

然后輸入source /etc/bash.bashrc 更新環境變量。

這下就可以在c++環境下愉快的使用opencv了。編譯opencv的cpp程序時,需要使用下面命令:

g++ main.cpp -o first `pkg-config opencv --cflags --libs`

后面是連接和參數,配置好了這么寫就可以了,然后生成可執行文件運行就可以了,比如我們這里生成的是first。那么執行: ./first 就可以了! 還有一種形式是使用cmake來進行編譯,生成可執行文件然后載運行,可以參考:ubuntu下opencv的編譯和使用

本文參與騰訊雲自媒體分享計划,歡迎正在閱讀的你也加入,一起分享。

發表於 2018-09-04
3

 

 

我來說兩句

0 條評論
 
登錄 后參與評論


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM