Zynq7000開發系列-5(OpenCV開發環境搭建:Ubuntu、Zynq)

操作系統:Ubuntu14.04.5?LTS 64bit

OpenCV:OpenCV 3.1.0、opencv_contrib

gcc:gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)

arm-xilinx-linux-gnueabi-gcc:gcc version 4.9.2 (Sourcery CodeBench Lite 2015.05-17)


一、Ubuntu下OpenCV3.1.0編譯(包含opencv_contrib模塊)

1、依賴包安裝

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

?

2、下載源碼

OpenCV:opencv-3.1.0.zip

官網鏈接:https://opencv.org/releases.html

contrib模塊:opencv_contrib-3.1.0.zip

Github鏈接:https://github.com/opencv/opencv_contrib/releases

?

3、安裝命令

unzip opencv_contrib-3.1.0.zip  # 解壓
unzip opencv-3.1.0.zip          # 解壓
cd opencv-3.1.0
mkdir build                     # 編譯文件夾
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/opt/opencv310 -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib/modules/> ..
# OPENCV_EXTRA_MODULES_PATH用實際的地址代替,切勿漏掉最后的兩個點“..”,表示上層文件夾的意思 make
-j4 # -j4表示使用4個線程編譯 make install # 安裝到指定文件夾/opt/opencv310

?

4、安裝后配置

Note:由于沒有安裝在/usr或/usr/local下,需要做一些額外的配置

##讓opencv的相關鏈接庫被系統共享
sudo gedit /etc/ld.so.conf.d/opencv310.conf
添加:/opt/opencv310/lib,保存
sudo ldconfig
##為程序指定openvc的頭文件位置
sudo gedit /etc/bash.bashrc
在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/opencv310/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出,重新開啟終端來使配置生效

執行一下命令檢查OpenCV相關信息是否正確輸出:

pkg-config opencv --libs       # 輸出OpenCV的庫文件信息
pkg-config opencv --cflags    # 輸出OpenCV的頭文件信息

?

6、測試

OpenCV 3.1.0?dnn模塊測試,參考官方教程鏈接:https://docs.opencv.org/master/d5/de7/tutorial_dnn_googlenet.html

?

二、OpenCV3.1.0交叉編譯(包含opencv_contrib模塊)[ for Zynq ]

1、依賴包安裝

sudo apt-get install cmake-curses-gui

?

2、下載源碼

見上述第一點第2小點。

?

3、重新解壓縮源碼包得到文件夾/opencv-3.1.0,并重命名為/opencv-3.1.0_zynq

?

4、設置編譯環境(交叉編譯鏈):在/opencv-3.1.0_zynq下新建文件toolchain.cmake,內容如下:

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-xilinx-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER arm-xilinx-linux-gnueabi-g++)

?

5、安裝命令

mkdir build       # 編譯文件夾
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=../toolchain.cmake -D CMAKE_INSTALL_PREFIX=/opt/opencv310_zynq -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib/modules/> ..# CMAKE_TOOLCHAIN_FILE 指定配置編譯環境的文件,OPENCV_EXTRA_MODULES_PATH 用實際的地址代替,切勿漏掉最后的兩個點“..”,表示上層文件夾的意思
ccmake ..

? ? 打開配置界面后,修改如下:
? ? 把所有以WITH開頭的選項全部選為OFF(除了WITH_V4L選為ON外)(這些選項需第三方庫支持,若用到則選為ON)
? ? 按c鍵配置,然后按g鍵生成并退出

make -j4          # -j4表示使用4個線程編譯
make install      # 安裝到指定文件夾/opt/opencv310_zynq

?

至此,OpenCV開發環境搭建完畢。

?

參考文章鏈接:

ubuntu 14.04 64位 安裝Opencv3.1.0 (包含opencv_contrib模塊) - Fienly - 博客園
https://www.cnblogs.com/asmer-stone/p/5089764.html

?

轉載于:https://www.cnblogs.com/wmxfd/p/zynq7000_development_5_opencv_development_environment_establishment_fot_ubuntu_and_zynq.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281871.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

# 20172307 2018-2019-1 《程序設計與數據結構》第5周學習總結

20172307 2018-2019-1 《程序設計與數據結構》第5周學習總結 教材學習內容總結 查找 1.線性查找&#xff1a;從該列表頭開始依次比較每一個值&#xff0c;直至找到該目標元素。2.二分查找法&#xff1a;二分查找是從排序列表的中間開始查找&#xff0c;如果沒有在那個中間元素則…

java 生成jni_Javah生成JNI頭文件

在eclipse中建一項目&#xff0c;建一class1 packageesmart.colfile.parse;2 3 publicclassTestHello {4 static{5 System.loadLibrary("TestHello");6 }7 8 publicstaticnativevoidhello(String msg);9 10 publicstaticvoidmain(String[] args) {11 12 hello("…

IBM 的大型機 z Systems 引入 Go 語言

據 cbronline 報道&#xff0c;IBM 正把 Go 語言運用到旗下的大型機上。 IBM 將開源的 Go 語言引入到 z Systems 大型機后&#xff0c;可以給用戶多一個的選擇&#xff0c;即在大型機上使用 Linux 或基于 Go 的應用&#xff0c;同時也使大型機更加靈活。Go 語言在高并發的網絡應…

WPF-10 邏輯樹和可視化樹

我們在WPF-03 資源之Resources結尾中介紹邏輯樹和可視化樹的基本概念&#xff0c;我們這節來介紹這兩棵樹邏輯樹&#xff08;Logical Tree&#xff09;邏輯樹是由每個控件的節點組成&#xff0c;本質上就是XAML文件中的UI元素&#xff0c;我們可以通過LogicalTreeHelper類提供的…

洛谷P4364 [九省聯考2018]IIIDX(線段樹)

傳送門 題解看得……很……迷&#xff1f; 因為取完一個數后&#xff0c;它的子樹中只能取權值小于等于它的數。我們先把權值從大到小排序&#xff0c;然后記$a_i$為他左邊&#xff08;包括自己&#xff09;所有取完他還能取的數的個數。那么當取完一個點$x$的數之后&#xff0…

國產車崛起粉碎德日工業神話

由于二戰戰敗&#xff0c;德國一大批頂尖人才被美蘇瓜分&#xff0c;戰敗國地位和人才斷層導致德國工業基本是第二次工業革命的產物&#xff0c;專精于機械、化工等傳統行業&#xff0c;并有巴斯夫、拜爾、大眾、戴姆勒、寶馬等一批世界級企業。不過&#xff0c;德國世界級的IT…

java hibernate 分頁查詢_4 Hibernate HQL查詢,分頁查詢

/*** HQL查詢的一個例子*/public static void hql(){Session s null;try{s HibernateUtil.getSeesion();//final String hql "from User as u where u.name?";final String hql "from User as u where u.name:name";final Query query s.createQuery…

Linux -sed

sed &#xff0c;查找sed -n /root/p passwd #列出passwd中有root的行 sed -nr /ot/p passwd #sed -r grep -E 都是進行脫意 sed -nr /0{2}/p passwd #匹配兩次o的 sed -nr /root|bus/p passwd #匹配root 或者bus的 sed -n 2p passwd # 查找指定的行sed -n 2,5p passwd # 查找…

h5 端圖片上傳-模擬多張上傳

1、由于后端的限制&#xff0c;上傳圖片到服務器只能的一張一張傳2、顯示圖片預覽是本地的圖片3、根據服務器返回的結果拿到相應的路徑保存到提交評論的接口中4、刪除的時候&#xff0c;需要刪除對應的路徑&#xff0c;不要把刪除的提交到評論的接口中 A、comment-detail.js va…

node安裝問題

1.最好安裝到默認路徑&#xff0c;手賤安到了D盤&#xff0c;升級npm各種出錯。 明明升級成功&#xff0c;查看版本時&#xff0c;確顯示依然是老的版本。 原因&#xff1a;升級的是C盤的node_modules中的npm&#xff0c;執行時確是D盤node自帶的npm&#xff0c;不知道為啥。。…

全新升級的AOP框架Dora.Interception[匯總,共6篇]

多年之前利用IL Emit寫了一個名為Dora.Interception的AOP框架。前幾天利用Roslyn的Source Generator對自己為公司寫的一個GraphQL框架進行改造&#xff0c;性能得到顯著的提高&#xff0c;覺得類似的機制同樣可以用在AOP框架上&#xff0c;實驗證明這樣的實現方式不僅僅極大地改…

java string轉decimal_java中string轉bigdecimal的例子

小編知道在java中數據類型非常 的嚴格了&#xff0c;我們如果一個地方不小心就會導致應用出問題了&#xff0c;今天 小編就在string 轉BigDecimal上碰到了一些問題&#xff0c;下面整理了幾個例子大家一起來看看。例子1,string 轉BigDecimalpublic class Test{public static vo…

通過url來設置log4j的記錄級別

2019獨角獸企業重金招聘Python工程師標準>>> 直接看代碼。 import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.Level; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotati…

通過用戶模型,對數據庫進行增刪改查操作

增加&#xff1a;user db.session.add(user)db.session.commit() #增加 user User(username JACKSON,password0328 ) db.session.add(user) db.session.commit() 查詢&#xff1a;User.query.filter(User.username mis1114).first() #查詢 userUser.query.filter(User.usern…

Android OpenGL ES(七)----理解紋理與紋理過濾

1.理解紋理 OpenGL中的紋理能夠用來表示圖像。照片&#xff0c;甚至由一個數學算法生成的分形數據。每一個二維的紋理都由很多小的紋理元素組成。它們是小塊的數據&#xff0c;類似于我們前面討論過的片段和像素。要使用紋理&#xff0c;最經常使用的方式是直接從一個圖像文件載…

WPF 基礎控件之托盤

WPF 基礎控件之托盤控件名&#xff1a;NotifyIcon作者&#xff1a; WPFDevelopersOrg - 吳鋒|驚鏵原文鏈接&#xff1a; https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40。Visual Studio 2022。項目使用 MIT 開源許可協議。新建NotifyIcon自定義…

java 匿名 異常_JAVA類(內部類、匿名內部類、異常、自定義異常)

內部類package AA;public class類 {int de123;StringBuffer deenewStringBuffer();public class成員內部類{public voidff() {System.out.println("這是成員內部類方法");}}/*1.可以訪問外部類所有的成員&#xff0c;包括被聲明為私有(private)的&#xff1b;2.可以使…

ASP.NET 多環境下配置文件web.config的靈活配置---轉

注意&#xff1a;本功能在.Net Core中已經不可用&#xff0c;暫時需手動修改web.config中的信息&#xff0c;或者將其設置在appsettings.XXX.json中&#xff0c;然后再使用web.config中的環境變量來制定使用的具體appsettings文件。 轉自&#xff1a;https://www.cnblogs.com/h…

英語之各類人群

工作狂&#xff1a;workaholic 月光族&#xff1a;moonlight group 電燈泡&#xff1a;third wheel 菜鳥&#xff1a;newbie 夜貓子&#xff1a;night owl 路癡&#xff1a;somebody has no sense of derection 宅男宅女&#xff1a;homebody 時尚的潮人&#xff1a;trend sett…

Wget CVE-2014-4877:FTP 符號鏈接任意文件系統訪問

Wget 爆出 CVE-2014-4877 漏洞&#xff1a;FTP 符號鏈接任意文件系統訪問。 Package: wgetVersion: 1.15-1Severity: important Upstream fix&#xff1a; http://git.savannah.gnu.org/cgit/wget.git/commit/?id18b0979357ed7dc4e11d4f2b1d7e0f5932d82aa7 References&#xf…