




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
千里之行,始于足下讓知識(shí)帶有溫度。第第2頁(yè)/共2頁(yè)精品文檔推薦《嵌入式系統(tǒng)開(kāi)發(fā)技術(shù)》設(shè)計(jì)報(bào)告嵌入式系統(tǒng)開(kāi)發(fā)技術(shù)
設(shè)計(jì)報(bào)告
組長(zhǎng):
成員:
中國(guó)石油高校(華東)計(jì)算機(jī)與通信工程學(xué)院計(jì)算機(jī)科學(xué)系
二0年12月
一、引言
OpenCV的全稱是:OpenSourceComputerVisionLibrary。OpenCV是一個(gè)基于(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows和MacOS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列C函數(shù)和少量C++類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的無(wú)數(shù)通用算法。它的應(yīng)用領(lǐng)域十分廣泛,包括人機(jī)互動(dòng)、物體識(shí)別、圖像分割、人臉識(shí)別、機(jī)器視覺(jué)、汽車平安駕駛等。隨著手機(jī)性能的不斷提高,OpenCV往安卓上移植已經(jīng)成為可能,安卓設(shè)備移植上OpenCV之后將能夠舉行復(fù)雜的圖像處理和視頻分析工作,人們不必拘泥于使用固定的設(shè)備舉行圖像以及視頻的處理,從而增強(qiáng)了處理的靈便性。
本課程設(shè)計(jì)實(shí)現(xiàn)的就是OpenCV到安卓的移植以及在安卓上實(shí)現(xiàn)一個(gè)容易的圖像處理應(yīng)用。Android應(yīng)用程序是通過(guò)AndroidSDK(SoftwareDevelopmentKit)利用Java編程語(yǔ)言舉行開(kāi)發(fā),同時(shí)也可以通過(guò)JNI調(diào)用C動(dòng)態(tài)庫(kù),不過(guò)這種開(kāi)發(fā)方式存在技術(shù)障礙,陪同著AndroidNDK(NativeDevelopmentKit)的問(wèn)世,使得“JAVA+C”的開(kāi)發(fā)方式走向成熟。
二、總體設(shè)計(jì)
1、功能描述
本課程設(shè)計(jì)分為以下四個(gè)模塊,各模塊功能介紹如下:
Android-OpenCV項(xiàng)目:
OpenCV中大部分重要API在該項(xiàng)目中已經(jīng)封裝成了JAVA接口,為安卓上的OpenCV開(kāi)發(fā)提供C、C++函數(shù)支持。
AndroidNDK:
它包括從C/C++生成原生代碼庫(kù)所需要的工具和buildfiles,能夠?qū)⑷嫉脑鷰?kù)嵌入可以在Android設(shè)備上部署的應(yīng)用程序包文件(applicationpackagesfiles,即.apk文件)中,支持全部將來(lái)Android平臺(tái)的一些列原生系統(tǒng)頭文件和庫(kù)。在本課程設(shè)計(jì)中擔(dān)任重要角色,包括交錯(cuò)編譯OpenCV源代碼、編譯測(cè)試程序等。
Cygwin:
Windows下模擬Linux操作環(huán)境,在其中執(zhí)行NDK編譯。
Eclipse:
Android開(kāi)發(fā)環(huán)境,開(kāi)發(fā)android程序,生成可執(zhí)行的.apk文件,銜接真機(jī)或虛擬機(jī)舉行調(diào)試。
2、設(shè)計(jì)特色
本課程設(shè)計(jì)的特色在于勝利的將android-opencv移植到eclipse開(kāi)發(fā)環(huán)境中去,實(shí)現(xiàn)了在android設(shè)備開(kāi)發(fā)圖像處理、視頻分析應(yīng)用,提高了android設(shè)備的使用價(jià)值。編譯環(huán)境采納AndroidNDK+Cygwin,便利開(kāi)發(fā)者在windows環(huán)境下開(kāi)發(fā)“java+c”程序。
3、體系結(jié)構(gòu)
C代碼開(kāi)發(fā)環(huán)境:
Java代碼開(kāi)發(fā)環(huán)境:
三、具體設(shè)計(jì)
1、AndroidNDK開(kāi)發(fā)環(huán)境搭建
(1)、NDK下載
本課程設(shè)計(jì)使用的NDK版本是android-ndk-r4-crystax,這是一款面對(duì)android的編譯工具,下載后解壓,存放位置自己定義,我放在G盤根名目下。
(2)、Cygwin下載
因?yàn)镹DK編譯代碼時(shí)必需要用到make和gcc,所以必需搭建一個(gè)Linux環(huán)境,下載Cygwin,安裝時(shí)要注重一下幾點(diǎn):安裝名目最好不要放在有中文和空格的名目里;在挑選需要下載的包時(shí),因?yàn)椴磺逦鱾€(gè)包的用途,為了避開(kāi)出錯(cuò),所以挑選了所有下載;因?yàn)槭菑膰?guó)外站點(diǎn)下載資源,速度略微有些慢,大約1~2個(gè)小時(shí),期間應(yīng)確保網(wǎng)絡(luò)通暢。安裝后在系統(tǒng)環(huán)境變量Path中加入cygwin的bin和
android-ndk-r4-crystax的路徑,檢測(cè)是否安裝勝利,打開(kāi)CygwinTerminal,在命令行輸入“cygcheck-ccygwin”,會(huì)打印出當(dāng)前cygwin的版本和運(yùn)行狀態(tài),顯示status是“OK”,則表示安裝勝利,否則需要重新安裝。下面需要配置NDK環(huán)境變量,配置文件為.bash_profile,我的文件名目是
D:\cygwin\home\zhangyu\.bash_profile,在文件末尾添加“NDK=/cygdrive//”,為了區(qū)別該NDK版本,我寫的是:ndk_r4=/cygdrive/g/android-ndk-r4-crystaxexportndk_r4,“ndk_r4”這個(gè)名字是自己定義的,便利記憶。保存后,關(guān)閉終端,重啟,
終端,可能會(huì)浮現(xiàn)一下錯(cuò)誤:
導(dǎo)致這個(gè)錯(cuò)誤的緣由是使用了windows環(huán)境下的編輯環(huán)境,在Linux下存在不兼容的問(wèn)題,在該文件名目下輸入“dos2unix.bash_profile”,以Unix標(biāo)準(zhǔn)規(guī)范該文件即可消退錯(cuò)誤。輸入“cd$ndk_r4”,假如跳到該名目下,則表明ndk環(huán)境變量配置勝利。
下面向NDK所帶的一個(gè)例子舉行編譯,如下圖所示:
編譯后生成libhello-jni.so文件,將該工程導(dǎo)入eclipse,編譯運(yùn)行,結(jié)果如下:
至此,AndroidNDK開(kāi)發(fā)環(huán)境搭建完畢。
2、Android-OpenCV移植
移植辦法參照CSDN的一篇博文,下載Android-OpenCV源碼包,存放到G盤根名目
下,該源碼包已經(jīng)寫好了交錯(cuò)編譯Opencv的Makefile文件和Opencv的AndroidLibraryProject,用于本課程設(shè)計(jì),需要修改以下幾個(gè)地方:
(1)build.sh文件
將“ndk-build”替換為“cygdrive/g/android-ndk-r4-crystax/ndk-build”,用于明確所使用的ndk-build的詳細(xì)路徑。
(2)clean.sh文件
同上。
將android-ndk-r4-crystax囫圇文件夾拷貝到D:\cygwin\home\zhangyu下,由于在opencv源碼包中的local.env文件中指定的ANDROID_NDK_ROOT=$(HOME)/android-ndk-r4-crystax。或者在此處更改NDK名目,總之目的就是正確的找到NDK工具所在名目。
下面編譯Opencv,打開(kāi)Cygwin終端,進(jìn)入opencv名目,運(yùn)行build.sh,編譯大約持續(xù)30分鐘,編譯勝利后,在android/libs/armeabi和armeabi-v7a兩個(gè)文件夾下生成libandroid-opencv.so文件,用于Android開(kāi)發(fā)的opencv庫(kù)文件生成勝利。
打開(kāi)eclipse,將android文件夾下的工程導(dǎo)入到eclipse工作空間中,導(dǎo)入后運(yùn)行該工程,在虛擬機(jī)上無(wú)任何反應(yīng),eclipse控制臺(tái)輸出如下信息:
下面運(yùn)行opencv源碼包自帶的android應(yīng)用,啟動(dòng)cygwin終端,進(jìn)入例子程序CVCamera名目下:
編譯勝利,將該工程導(dǎo)入eclipse,銜接手機(jī),挑選在真機(jī)上運(yùn)行,運(yùn)行結(jié)果如下:
表示androi-opencv移植勝利,該eclipse開(kāi)發(fā)環(huán)境具備了使用opencv舉行android應(yīng)用開(kāi)發(fā)的功能。
3、Android-OpenC
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中信息技術(shù)課堂教學(xué)方法的創(chuàng)新研究
- 2025光電車衣發(fā)電系統(tǒng)
- 中小學(xué)心理健康教育課程設(shè)計(jì)與實(shí)踐知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春浙江師范大學(xué)
- 三級(jí)人力資源管理師-三級(jí)人力資源管理師考試《理論知識(shí)》押題密卷6
- 三級(jí)人力資源管理師-《企業(yè)人力資源管理師(理論知識(shí))》考前強(qiáng)化模擬卷6
- 山東省菏澤市東明縣第一中學(xué)2024-2025學(xué)年高二下學(xué)期開(kāi)學(xué)地理試題
- 2018高考人教政治二輪鞏固練題(六)及解析
- 2018年普通高校招生全國(guó)統(tǒng)一考試仿真模擬(一)語(yǔ)文試題
- 甘肅省張掖市高臺(tái)縣一中2024-2025學(xué)年高三下學(xué)期第二次檢測(cè)語(yǔ)文試題(原卷版+解析版)
- 2025屆福建省漳州市高三下學(xué)期第三次檢測(cè)歷史試題 (原卷版+解析版)
- 2024年04月江蘇蘇州銀行春招信息科技類崗位第一批開(kāi)始筆啦筆試歷年參考題庫(kù)附帶答案詳解
- 煤化工設(shè)備設(shè)計(jì)與制造技術(shù)進(jìn)展分析考核試卷
- 中國(guó)多發(fā)性骨髓瘤診治指南(2024 年修訂)
- 【MOOC】實(shí)驗(yàn)室安全學(xué)-武漢理工大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- DB32T 2836-2015 雙孢蘑菇工廠化生產(chǎn)技術(shù)規(guī)程
- 蘋果種植養(yǎng)護(hù)培訓(xùn)課件
- 化妝步驟課件教學(xué)課件
- 民兵教練員四會(huì)教案模板
- 起重吊裝作業(yè)安全培訓(xùn)考核試卷
- 時(shí)政述評(píng)巴以沖突課件-2024屆高考政治一輪復(fù)習(xí)
- 三級(jí)綜合醫(yī)院評(píng)審標(biāo)準(zhǔn)(2024年版)
評(píng)論
0/150
提交評(píng)論