




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
人工智能綜合項(xiàng)目開發(fā)
理論篇
第1章
人工智能基礎(chǔ)
第2章OpenCV基礎(chǔ)
第3章
全連接神經(jīng)網(wǎng)絡(luò)
應(yīng)用篇項(xiàng)目1智能農(nóng)業(yè)作物監(jiān)測系統(tǒng)
項(xiàng)目2智能安防監(jiān)控系統(tǒng)
項(xiàng)目3智慧零售自助結(jié)算系統(tǒng)模擬實(shí)驗(yàn)
項(xiàng)目4口罩佩戴檢測防控系統(tǒng)
項(xiàng)目5情緒識別氛圍交互系統(tǒng)
項(xiàng)目6客流統(tǒng)計(jì)分析系統(tǒng)模擬實(shí)驗(yàn)
項(xiàng)目7人體姿態(tài)動(dòng)作識別系統(tǒng)模擬實(shí)驗(yàn)
項(xiàng)目8車牌識別閘機(jī)控制系統(tǒng)模擬實(shí)驗(yàn)
全套可編輯PPT課件
人工智能綜合項(xiàng)目開發(fā)第一章人工智能基礎(chǔ)
理論篇人工智能應(yīng)用開發(fā)概述01嵌入式與人工智能的關(guān)系02開發(fā)環(huán)境搭建03Linux操作基礎(chǔ)04常用開發(fā)工具的使用05嵌入式微控制器IDE的使用06本課件是可編輯的正常PPT課件隨著5G、人工智能和物聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,智能連接時(shí)代已經(jīng)來臨,新興的智能終端和解決方案將越來越依賴于嵌入式技術(shù)。社會的各行各業(yè)都進(jìn)入到了智能化升級改造的浪潮中,把人工智能技術(shù)融入實(shí)際的場景中,能夠輔助或者代替人類工作,提高工作效率,成為重點(diǎn)研究的課題。
從人工智能技術(shù)應(yīng)用的角度出發(fā),可分為云端人工智能和端側(cè)人工智能兩種。云端人工智能指傳感器收集到的數(shù)據(jù)不做任何處理,直接傳送到云端,在云端對數(shù)據(jù)進(jìn)行計(jì)算處理。端側(cè)人工智能指數(shù)據(jù)在智能傳感器、智能節(jié)點(diǎn)等嵌入式端側(cè)中直接進(jìn)行計(jì)算處理。云端人工智能依靠云的計(jì)算能力和標(biāo)簽化的大數(shù)據(jù)對算法進(jìn)行性能提升和優(yōu)化。端側(cè)人工智能是從PC端互聯(lián)網(wǎng)搬移到智能化終端的具體應(yīng)用,是人工智能落地的最后一公里的解決方案,且嵌入式設(shè)備無須聯(lián)網(wǎng)通過云端數(shù)據(jù)中心進(jìn)行大規(guī)模計(jì)算去實(shí)現(xiàn)人工智能,而是在本地計(jì)算,在不聯(lián)網(wǎng)的情況下就可以做到實(shí)時(shí)的環(huán)境感知、人機(jī)交互、決策控制。因此云端計(jì)算的人工智能致力于如何更好地解決問題,而端側(cè)的人工智能則致力于如何更加經(jīng)濟(jì)地解決問題。本課件是可編輯的正常PPT課件本章主要講述嵌入式與人工智能的關(guān)系、嵌入式人工智能的開發(fā)流程、嵌入式人工
智能的應(yīng)用場景。嵌入式與人工智能的關(guān)系人工智能的定義人工智能(Artificial
Intelligence),簡稱
AI,即利用機(jī)器模擬人類感知、學(xué)習(xí)、
認(rèn)知、推理、決策、交互等過程的一門技術(shù)??傮w來說人工智能就是要讓機(jī)器的行為看
起來就像是人所表現(xiàn)出的智能行為一樣。本課件是可編輯的正常PPT課件圖靈測試本課件是可編輯的正常PPT課件人物介紹
馬文·李·閔斯基(MarvinLeeMinsky,1927年8月9日-2016年1月24日)生于美國紐約州紐約市,科學(xué)家,專長于認(rèn)知科學(xué)與人工智能領(lǐng)域,麻省理工學(xué)院人工智能實(shí)驗(yàn)室的創(chuàng)始人之一,著有幾部人工智能和哲學(xué)方面的作品。1969年,因?yàn)樵谌斯ぶ悄茴I(lǐng)域的貢獻(xiàn),獲得圖靈獎(jiǎng)。本課件是可編輯的正常PPT課件人工智能的定義
指由人制造出來的機(jī)器所表現(xiàn)出來的智能。通常人工智能是指通過普通計(jì)算機(jī)程序來呈現(xiàn)人類智能的技術(shù)。本課件是可編輯的正常PPT課件人工智能的定義
人工智能是研究、開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。本課件是可編輯的正常PPT課件強(qiáng)人工智能和弱人工智能技術(shù)階段哲學(xué)階段計(jì)算智能感知智能認(rèn)知智能能存會算能聽會說,能看會認(rèn)能理解會思考弱人工智能強(qiáng)人工智能“看起來”像是智能的,但是并不真正擁有智能,也不會有自主意識。能自主推理,有自主意識現(xiàn)階段人工智能領(lǐng)域未來研究方向本課件是可編輯的正常PPT課件強(qiáng)人工智能和弱人工智能神馬漢斯本課件是可編輯的正常PPT課件人工智能的特征由人類設(shè)計(jì),為人類服務(wù),本質(zhì)為計(jì)算,基礎(chǔ)為數(shù)據(jù)。能感知環(huán)境,能產(chǎn)生反應(yīng),能與人交互,能與人互補(bǔ)。有適應(yīng)特性,有學(xué)習(xí)能力,有演化迭代,有連接擴(kuò)展。123本課件是可編輯的正常PPT課件人工智能的發(fā)展歷程本課件是可編輯的正常PPT課件人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)本課件是可編輯的正常PPT課件無人駕駛本課件是可編輯的正常PPT課件醫(yī)療影像
目前我國醫(yī)學(xué)影像行業(yè)面臨兩大痛點(diǎn):
第一是醫(yī)學(xué)影像醫(yī)生缺口大,誤診率高、效率低,服務(wù)模式亟待創(chuàng)新;
第二是醫(yī)學(xué)影像分析工作繁瑣重復(fù),極度消耗精力。
而人工智能的介入使醫(yī)生對圖像的調(diào)閱、圖像質(zhì)量的控制等有了更大的主動(dòng)性,它使得醫(yī)生工作的關(guān)鍵模式發(fā)生了改變?!癆I+醫(yī)學(xué)影像”解決行業(yè)痛點(diǎn)信息技術(shù)發(fā)展促進(jìn)了醫(yī)學(xué)影像和教學(xué)科研工作的開展。本課件是可編輯的正常PPT課件人臉識別人臉識別、手機(jī)解鎖、人臉支付、相機(jī)本課件是可編輯的正常PPT課件自然語言處理南方都市報(bào)-小南和廣州日報(bào)-阿同、阿樂本課件是可編輯的正常PPT課件傳統(tǒng)預(yù)測領(lǐng)域信貸需求預(yù)測店鋪效率預(yù)測本課件是可編輯的正常PPT課件人工智能技術(shù)瓶頸本課件是可編輯的正常PPT課件云端智能與端側(cè)智能
云端智能與端側(cè)智能,前者的好處是,能夠承受高吞吐量并滿足復(fù)雜計(jì)算對資源的要求,因此多用于深度學(xué)習(xí)模型和計(jì)算較復(fù)雜的情況;而后者,則更多的應(yīng)用于對「實(shí)時(shí)處理」有更高要求的場景中。
本課件是可編輯的正常PPT課件端側(cè)人工智能五大優(yōu)勢
相比在云端運(yùn)行的人工智能,終端側(cè)人工智能在隱私、可靠、低延時(shí)、高效及個(gè)性化方面均有諸多優(yōu)勢。伴隨著移動(dòng)終端成為人們生活中的必備品,終端側(cè)人工智能的優(yōu)勢將更加凸顯。本課件是可編輯的正常PPT課件圖
0-1AI
在工作中的應(yīng)用價(jià)值通過錯(cuò)誤!未找到引用源。可知,人工智能能夠勝任日常工作生活中絕大部分類別的
工作,能夠解決業(yè)務(wù)場景中高度復(fù)雜的計(jì)算問題,自主適應(yīng)環(huán)境、主動(dòng)配合人的工作,本課件是可編輯的正常PPT課件在一定程度上通過計(jì)算機(jī)運(yùn)算幫助人們完成觀察、認(rèn)知與決策的過程。而人類比較適合
做決策相關(guān)的任務(wù),能夠定義業(yè)務(wù)問題,確定目標(biāo)邊界,拆解問題,尋找完整的解決方
法等。通過人工智能技術(shù)能夠更好地輔助或者代替人類工作,提升工作效率,讓人類能夠
解脫出來做更多的決策工作,創(chuàng)造更大的價(jià)值。行業(yè)智能化發(fā)展浪潮由圖
0-2
可知,隨著人工智能技術(shù)的普及應(yīng)用,傳統(tǒng)行業(yè)都進(jìn)入到了智能化升級改
造的進(jìn)程中,如:智能制造、智慧農(nóng)業(yè)、智慧物流、智慧商務(wù)、智慧金融、智慧交通、
智慧醫(yī)療、智慧養(yǎng)老、智慧環(huán)保等。同時(shí)人工智能技術(shù)的發(fā)展也促進(jìn)了新興產(chǎn)業(yè)的發(fā)展,
如:智能軟硬件、智能機(jī)器人、智能運(yùn)載工具、智能終端、虛擬現(xiàn)實(shí)/增強(qiáng)現(xiàn)實(shí)等。智能
化的升級改造必將是未來發(fā)展的主要趨勢,使用人工智能技術(shù)可以在社會的各行各業(yè)中
大放異彩,由此可以更加體現(xiàn)出人工智能技術(shù)結(jié)合行業(yè)落地應(yīng)用的重要性。本課件是可編輯的正常PPT課件圖
0-2
智能化升級改造行業(yè)智能化的關(guān)鍵思維行業(yè)智能化的發(fā)展離不開人工智能技術(shù)的支撐,從系統(tǒng)化的思維角度出發(fā)可拆分出,
構(gòu)建一個(gè)完整的智能應(yīng)用系統(tǒng)需要包含:輸入、傳輸、計(jì)算、存儲、輸出五大部分,如
圖
0-3
所示。例如:智慧交通、智能家居、智慧零售、智能音箱、智能手機(jī)、可穿戴設(shè)本課件是可編輯的正常PPT課件備等都需要由這五大部分構(gòu)成最終的智能系統(tǒng)。圖
0-3
智能應(yīng)用系統(tǒng)的組成人工智能不僅僅是一項(xiàng)技術(shù),而是一種認(rèn)識和思考世界的方式。人工智能技術(shù)要發(fā)本課件是可編輯的正常PPT課件揮價(jià)值就必須跟行業(yè)智能化需求相匹配,針對特定的產(chǎn)品或應(yīng)用場景做智能化升級改造,
通過人工智能基礎(chǔ)知識的積累和系統(tǒng)化思維的構(gòu)建輸出產(chǎn)品方案或解決方案,從而實(shí)現(xiàn)
人工智能技術(shù)的落地應(yīng)用,如圖
1-4
所示。圖
0-4
智能化的關(guān)鍵思維本課件是可編輯的正常PPT課件邊緣計(jì)算基礎(chǔ)概述人工智能已經(jīng)從技術(shù)走向應(yīng)用,如何將
AI
技術(shù)真正落地,解決每個(gè)應(yīng)用場景中人們
的實(shí)際需求,才是關(guān)鍵。而這個(gè)過程中嵌入式技術(shù)將成為
AI
落地的重要承載平臺,促使
人工智能在各個(gè)垂直行業(yè)落地生根。嵌入式
AI:讓人工智能算法可以在嵌入式智能終端設(shè)備上運(yùn)行的一種技術(shù)概念。嵌
入式系統(tǒng)是“主體”,人工智能是“裝備”,強(qiáng)大的“屬性加成”以模塊來呈現(xiàn),提供
新功能改進(jìn)現(xiàn)有功能,讓智能更上一層樓,如圖
0-5
所示。本課件是可編輯的正常PPT課件圖
0-5
嵌入式系統(tǒng)+AI云端人工智能需要使用網(wǎng)絡(luò)傳輸,實(shí)時(shí)性和安全性都無法得到保障。使用嵌入式人
工智能在端側(cè)可實(shí)時(shí)處理數(shù)據(jù),并且數(shù)據(jù)安全和可靠性得到保障。算力下沉到邊緣端已本課件是可編輯的正常PPT課件成為趨勢,嵌入式
AI
有低時(shí)延、高帶寬、高可靠、海量連接、異構(gòu)匯聚、本地安全等特
點(diǎn),如圖
0-6
所示。圖
0-6
嵌入式
AI
的特點(diǎn)本課件是可編輯的正常PPT課件嵌入式人工智能開發(fā)流程嵌入式人工智能可分為基礎(chǔ)支撐層、技術(shù)驅(qū)動(dòng)層和場景應(yīng)用層?;A(chǔ)支撐層主要包
含:操作系統(tǒng)、編程語言、硬件平臺等作為程序運(yùn)行的基礎(chǔ)支撐;技術(shù)驅(qū)動(dòng)層主要包含:
理論及算法、技術(shù)平臺/框架、通用技術(shù)等,通過對圖像處理、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等技
術(shù)的理論支撐,結(jié)合各種軟件框架實(shí)現(xiàn)圖像識別、目標(biāo)檢測、圖像分割、語音識別、語
音合成、多傳感器融合等通用技術(shù);場景應(yīng)用主要是
AI
場景的落地應(yīng)用,通過對通用技
術(shù)的理解結(jié)合人工智能思維在實(shí)際的場景中落地應(yīng)用,如:智能無人車、智能可穿戴設(shè)
備、智能移動(dòng)機(jī)器人、智能無人機(jī)等,如圖
0-7
所示。本課件是可編輯的正常PPT課件圖
0-7
嵌入式人工智能體系結(jié)構(gòu)嵌入式人工智能開發(fā)主要包括兩大部分,即人工智能模型訓(xùn)練和嵌入式終端模型部本課件是可編輯的正常PPT課件署。人工智能模型訓(xùn)練主要在
PC
端進(jìn)行,包括數(shù)據(jù)處理、模型訓(xùn)練、模型優(yōu)化等。嵌入
式端主要是結(jié)合實(shí)際場景部署和應(yīng)用人工智能模型,如圖
0-8
所示。圖
0-8
嵌入式人工智能開發(fā)流程嵌入式人工智能開發(fā)的三個(gè)環(huán)節(jié):模型訓(xùn)練、模型轉(zhuǎn)換、模型部署。模型訓(xùn)練需要
在
PC
端完成,使用深度學(xué)習(xí)框架構(gòu)建模型,并完成模型訓(xùn)練,常用的深度學(xué)習(xí)框架有:本課件是可編輯的正常PPT課件PyTorch、TensorFlow、PaddlePaddle
等;模型轉(zhuǎn)換主要是進(jìn)行模型優(yōu)化,對模型進(jìn)行剪
枝、量化等操作,在損失較小模型識別精度的同時(shí),極大地降低模型大小,便于在嵌入
式端運(yùn)行;模型部署根據(jù)模型轉(zhuǎn)換后的模型編寫模型推理代碼,實(shí)現(xiàn)嵌入式端的模型部
署
及
應(yīng)
用
,
常
用
的
模
型
推
理
框
架
有
:OpenCV
DNN、OpenVINO、TensorFlow
Lite、
PaddleLite、TensorRT、ONNX、Tengine
等。本課件是可編輯的正常PPT課件圖
0-9
嵌入式
AI
的三個(gè)主要環(huán)節(jié)圖
0-10
主要描述人臉口罩檢測嵌入式端模型部署的完整流程,該樣例使用
PyTorch
深度學(xué)習(xí)框架和
OpenVINO
模型推理框架實(shí)現(xiàn)。主要分為
PC
端模型訓(xùn)練和嵌入式端模型部本課件是可編輯的正常PPT課件署及應(yīng)用,由數(shù)據(jù)采集、模型構(gòu)建、模型訓(xùn)練、模型轉(zhuǎn)換、模型部署、擴(kuò)展應(yīng)用六大步
驟組成。圖
0-10
人臉口罩檢測模型部署及應(yīng)用本課件是可編輯的正常PPT課件嵌入式人工智能應(yīng)用場景嵌入式與人工智能的結(jié)合為各行各業(yè)垂直領(lǐng)域的應(yīng)用帶來巨大潛力。嵌入式人工智
能廣泛應(yīng)用于零售、交通、運(yùn)輸、自動(dòng)化、制造業(yè)及農(nóng)業(yè)等行業(yè)。驅(qū)動(dòng)市場的主要因素
就是嵌入式人工智能技術(shù)在各種終端用戶垂直領(lǐng)域的應(yīng)用數(shù)量不斷增加,尤其是改善對
終端消費(fèi)者的服務(wù)。嵌入式技術(shù)在人工智能時(shí)代,有了新的定義與前景,人工智能也為
嵌入式的智能發(fā)展賦能,使嵌入式產(chǎn)品更快地走進(jìn)千家萬戶,甚至未來絕大多數(shù)產(chǎn)品都
是基于嵌入式設(shè)備的數(shù)據(jù)采集與智能處理分析,比如用于物流的自動(dòng)分揀機(jī)器人、智能
快遞柜等,用于城市交通中的無人駕駛汽車、交警機(jī)器人等,用于安防系統(tǒng)的智能攝像
頭、人臉識別、巡檢機(jī)器人等,用于家居中的智能音箱、掃地機(jī)器人等,這些都是典型
的嵌入式人工智能應(yīng)用產(chǎn)品??偠灾?,人工智能的落地大多基于嵌入式技術(shù),嵌入式技術(shù)為人工智能發(fā)展提供
了硬件支撐。人類突破了早年的通信速度問題產(chǎn)生了萬物互聯(lián),通過萬物互聯(lián)產(chǎn)生了大
數(shù)據(jù),通過大數(shù)據(jù)分析可以讓設(shè)備擁有機(jī)器學(xué)習(xí)的能力。隨著物聯(lián)網(wǎng)、三網(wǎng)融合等高端本課件是可編輯的正常PPT課件技術(shù)的發(fā)展,嵌入式與人工智能相結(jié)合必將成為主流的核心技術(shù)。開發(fā)環(huán)境搭建任任務(wù)要求通過本章節(jié)學(xué)習(xí)將會對嵌入式人工智能應(yīng)用需要的開發(fā)環(huán)境有了整體的認(rèn)識,并對
整個(gè)環(huán)境的配置過程做到全面掌握。任知識入入Python
開發(fā)環(huán)境配置Anaconda
指的是一個(gè)開源的
Python
發(fā)行版本,其包含了
conda、Python、科學(xué)計(jì)算
工具等科學(xué)包,是一個(gè)用于數(shù)據(jù)科學(xué),機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的開源軟件包管理系統(tǒng)。Miniconda
只包含了最基本的包和工具
conda、Python,需要的包可以通過
conda
來
安裝和管理。在官網(wǎng)下載
Miniconda,下載鏈接:https://conda.io/miniconda.html。下載完成本課件是可編輯的正常PPT課件后雙擊.exe
文件啟動(dòng)安裝向入,如圖
3-1
所示:Miniconda
安裝本課件是可編輯的正常PPT課件選擇添加環(huán)境變量,如圖
3-2
所示。圖
3-2
Miniconda
配置環(huán)境變量本課件是可編輯的正常PPT課件如圖
3-3
所示,點(diǎn)擊
finish
完成安裝。圖
3-3
Miniconda
安裝完成本課件是可編輯的正常PPT課件Miniconda
創(chuàng)建
Python
虛擬環(huán)境Python
之所以強(qiáng)大,除了語言本身的特性外,更重要的是擁有無所不及的第三方庫。
強(qiáng)大的軟件庫,讓開發(fā)者將精力集中在業(yè)務(wù)上,而避免重復(fù)造輪子的浪費(fèi)。但眾多的軟
件庫,形成了復(fù)雜的依賴關(guān)系,對
Python
開發(fā)造成了不少困擾。conda
作為一個(gè)非常好
的
Python
包管理軟件,能輕松實(shí)現(xiàn)
Python
開發(fā)環(huán)境的管理。使用
Miniconda
創(chuàng)建一個(gè)
python3.6
的環(huán)境,并安裝
python3.6,命令如下:基于
python3.6
創(chuàng)建一個(gè)名為
test_py
的虛擬環(huán)境。激活
test_py
虛擬環(huán)境。conda
deactivate退出虛擬環(huán)境。Miniconda
常用命令conda
install
python=3.6conda
create
--name
test_py
python=3.6conda
activate
test_py本課件是可編輯的正常PPT課件可以使用
conda
直接安裝和管理
Python
庫。使用如下命令安裝
Python
庫:同時(shí)安裝多個(gè)
Python
庫時(shí),用空格將
Python
庫名隔開即可,例如同時(shí)安裝
numpy、
scipy、pandas
包命令如下:查看已安裝的
Python
包:根據(jù)
Python
包名搜索已安裝的包:更新
Python
包:卸載
Python
包:conda
install
package_nameconda
install
numpy
scipy
pandasconda
listconda
search
search_termconda
update
package_nameconda
remove
package_name本課件是可編輯的正常PPT課件Python
IDE
的使用(1)PyCharm
簡介PyCharm
是一種
Python
IDE(Integrated
Development
Environment,集成開發(fā)環(huán)
境),帶有一整套可以幫助用戶在使用
Python
語言開發(fā)時(shí)提高其效率的工具,比如調(diào)試、
語法高亮、項(xiàng)目管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測試、版本控制等。(2)PyCharm
的安裝在官網(wǎng):/pycharm/根據(jù)電腦版本選擇不同的包進(jìn)行下
載,如圖
3-4。本課件是可編輯的正常PPT課件圖
3-4
PyCharm
軟件下載完成結(jié)束,開始安裝,安裝目錄推薦磁盤為
D
盤。安裝版本選擇。Create
Desktop
Shortcut
創(chuàng)建桌面快捷方式,如圖
2-5
所示,選擇
64
位。勾選
Create
Associations
是否關(guān)聯(lián)文件,選擇之后打開.py
文件,之后所有本課件是可編輯的正常PPT課件的.py
文件都將會用
PyCharm
軟件打開。本課件是可編輯的正常PPT課件圖
3-5
PyCharm
版本選擇(3)PyCharm
的使用如圖
3-6
所示,點(diǎn)擊
Create
New
Project
創(chuàng)建一個(gè)新的項(xiàng)目。圖
3-6
PyCharm
首次創(chuàng)建工程界面如圖
3-7
所示,輸入路徑,選擇
Python
解釋器。本課件是可編輯的正常PPT課件圖
3-7
PyCharm
路徑選擇如圖
3-8
所示,選擇
Python
解釋器,添加
Python
解釋器后,PyCharm
就會掃描出目
前已經(jīng)安裝的
Python
擴(kuò)展包,和這些擴(kuò)展包的最新版本。本課件是可編輯的正常PPT課件圖
3-8
Python
解釋器點(diǎn)擊
File
創(chuàng)建工程,如圖
3-9
所示。本課件是可編輯的正常PPT課件圖
3-9
創(chuàng)建工程點(diǎn)擊
New,創(chuàng)建
Python
文件,如圖
3-10
所示。本課件是可編輯的正常PPT課件圖
3-10
創(chuàng)建
Python
文件點(diǎn)擊
Run
運(yùn)行程序,并將運(yùn)行結(jié)果輸出,如圖
3-11
所示。本課件是可編輯的正常PPT課件圖
3-11
運(yùn)行
Hello
World本課件是可編輯的正常PPT課件Linux
操作基礎(chǔ)任任務(wù)要求在了解了整個(gè)環(huán)境之后,對環(huán)境中的基本操作需要熟練掌握,本章就是對嵌入式人工智能的常用基本操作進(jìn)行講解和練習(xí),為后面的實(shí)現(xiàn)案例打好
基礎(chǔ)。本章將涉及
SSH
的認(rèn)識及遠(yuǎn)程連接操作、Linux
的基本操作、軟件包的安裝與卸載命令以及
VNC
的可視化界面操作。任知識入入Linux
操作基礎(chǔ)Linux
是一個(gè)高可靠、高性能的系統(tǒng),而所有這些優(yōu)越性只有在直接使用
Linux
命令
行時(shí)(shell
環(huán)境)才能充分地體現(xiàn)出來。(1)Shell說到命令行,實(shí)際上指的是
shell。shell
腳本解釋程序,它接受從鍵盤輸入的命令,
然后把命令傳遞給操作系統(tǒng)去執(zhí)行。幾乎所有的
Linux
發(fā)行版都提供一個(gè)來自
GNU
項(xiàng)目名
為
bash
的應(yīng)用程序。bash
是“Bourne
Again
SHell”的首字母縮寫。bash
其實(shí)是
Unix本課件是可編輯的正常PPT課件上的
shell
的一個(gè)增強(qiáng)版。外接入鍵鼠之后使用按下
Ctrl+Alt+T,即可彈出
Shell
終端。圖
4-1
打開
Shell
終端如上圖
4-1
所示,字符包括用戶名@主機(jī)名,當(dāng)前工作目錄和一個(gè)美元符號。如果提
示符的最后一個(gè)字符是“#”,而不是“$”,那么終端會話就是超級用戶權(quán)限。(4)Linux
常用基礎(chǔ)命令
1、ls
命令ls
就是
list
的縮寫,通過
ls
命令不僅可以查看
Linux
文件夾包含的文件,而且本課件是可編輯的正常PPT課件可以查看文件權(quán)限(包括目錄、文件夾、文件權(quán)限)查看目錄信息等等。$
ls
-lrS例如按大小反序顯示文件詳細(xì)信息。2、cd
命令$
cd
..例如返回上一級目錄。3、mkdir
命令mkdir
命令用于創(chuàng)建文件夾。-m:
對新建目錄設(shè)置存取權(quán)限,也可以用
chmod
命令設(shè)置;-p:
可以是一個(gè)路徑名稱。此時(shí)若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系
統(tǒng)將自動(dòng)建立好那些尚不存在的目錄,即一次可以建立多個(gè)目錄。$
mkdir
test例如在當(dāng)前工作目錄下創(chuàng)建名為
test
的文件夾。例如在
tmp
目錄下創(chuàng)建路徑為
test/t1/t
的目錄,若不存在,則創(chuàng)建:本課件是可編輯的正常PPT課件4、rm
命令除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,如果沒有使用
-r
選項(xiàng),則
rm
不會刪除目
錄。如果使用
rm
來刪除文件,通常仍可以將該文件恢復(fù)原狀。
5、df
命令df
命令是顯示磁盤空間使用情況。獲取硬盤被占用了多少空間,目前還剩下多少空
間等信息,如果沒有文件名被指定,則所有當(dāng)前被掛載的文件系統(tǒng)的可用空間將被顯示。
默認(rèn)情況下,磁盤空間將以
1KB
為單位進(jìn)行顯示,除非環(huán)境變量
POSIXLY_CORRECT
被指
定,那樣將以
512
字節(jié)為單位進(jìn)行顯示。$
df
-h例如顯示磁盤使用情況。6、free
命令$
mkdir
-p
/tmp/test/t1/t例如刪除
test
子目錄及子目錄中所有檔案刪除,并且不用一一確認(rèn)。$
rm
-rf
test本課件是可編輯的正常PPT課件free
命令是顯示系統(tǒng)內(nèi)存使用情況,包括物理內(nèi)存、交互區(qū)內(nèi)存(swap)和內(nèi)核緩
沖區(qū)內(nèi)存。$
free
-h例如顯示內(nèi)存使用情況7、find
命令find
命令用于在文件樹中查找文件,并作出相應(yīng)的處理。$
find
/opt
-
/opt
目錄下權(quán)限為
777
的文件。8、cp
命令cp
命令將源文件復(fù)制至目標(biāo)文件,或?qū)⒍鄠€(gè)源文件復(fù)制至目標(biāo)目錄。例如復(fù)制
a.txt
到
test
目錄下,保持原文件時(shí)間,如果原文件存在提示是否覆蓋。9、locate
命令locate
命令通過搜尋系統(tǒng)內(nèi)建文檔數(shù)據(jù)庫達(dá)到快速找到檔案,數(shù)據(jù)庫由
updatedb$
cp
-ai
a.txt
test本課件是可編輯的正常PPT課件程序來更新,updatedb
是由
crondaemon
周期性調(diào)用的。默認(rèn)情況下
locate
命令在搜尋數(shù)據(jù)庫時(shí)比由整個(gè)硬盤資料來搜尋資料來得快。例如搜索
etc
目錄下所有以
sh
開頭的文件$
locate
/etc/sh(5)視頻的讀取與顯示OpenCV
為開發(fā)者提供了
CV2.VideoCapture
視頻捕獲類函數(shù),這是一個(gè)通用的捕獲視頻圖像的程序接口。CV2.VideoCapture
視頻捕獲類函數(shù)如下表
4-1
所示:表
4-1
攝像頭捕獲構(gòu)造類功能cv2.VideoCapture
類的構(gòu)造函數(shù)參數(shù)說明視頻文件<VideoCaputrue
object>
=
cv2.VideoCapture(VideoPath)VideoPath:本地視頻文件路徑攝
像
頭
設(shè)
備<VideoCaputrue
object>
=
cv2.VideoCapture(index)index:攝像頭設(shè)備
ID,填
0
表示
使用系統(tǒng)默認(rèn)的攝像頭,在
linux
系統(tǒng)中,如果存在多個(gè)攝像頭,可
以使用“/dev/video1“
等這樣的
設(shè)備名通過構(gòu)造函數(shù)可獲得
VideoCapture
類的實(shí)例對象,通過
VideoCapture
實(shí)例對象的成
員方法
read
讀取視頻幀。本課件是可編輯的正常PPT課件使用
OpenCV
捕獲視頻流非常容易,流程如下圖
4-2
所示:圖
4-2
視頻捕獲基本流程本課件是可編輯的正常PPT課件視頻流捕獲示例代碼如下:import
cv2
as
cv#獲取本地?cái)z像頭對象
cap
=
cv.VideoCapture(0)
#如果檢測到攝像頭已打開
if
cap.isOpened():state,
frame
=
cap.read()
#抓取下一個(gè)視頻幀狀態(tài)和圖像while
state:#當(dāng)抓取成功則進(jìn)入循環(huán)state,frame
=
cap.read()
#
抓取每一幀圖像cv.imshow('video',frame)
#
顯示抓取到的圖像幀#
等待鍵盤按下,超時(shí)
25ms
可通過設(shè)置等待超時(shí)時(shí)間來控制視頻播放速度。k
=
cv.waitKey(25)
&
0xff
#
25ms
內(nèi)當(dāng)有鍵盤按下時(shí)返回對應(yīng)按鍵
ASCII
碼,超時(shí)返回-1if
k
==
27
or
chr(k)
==
‘q’:
#
當(dāng)按下
Esc
或者
q
時(shí)退出循環(huán)。break(6)Python
程序運(yùn)行在嵌入式端運(yùn)行
Python
程序時(shí),首先確定端側(cè)已搭建好
Python
環(huán)境,如下圖
4-3
所示,輸入命令
python
-V
查看
Python
版本號。圖
4-3
查看
Python
版本號本課件是可編輯的正常PPT課件若同時(shí)安裝了
Python2
和
Python3,如下圖
4-4
所示,輸入命令
python3
-V
查看
Python3
版本號。圖
4-4
查看
Python3
版本號如圖
4-5
所示,在終端命令行輸入:python
文件名.py,直接運(yùn)行
Python
程序,如果安裝的是
python3,則運(yùn)行程序的命令為:python3
文件名.py。圖
4-5
運(yùn)行
Python
程序示例(7)vim
編輯器vim
是一個(gè)可以在
shell
中運(yùn)行的高度可自定義的文本編輯器。vim
簡潔而強(qiáng)大,下面將
vim
進(jìn)行一些外觀優(yōu)化:$
sudo
apt-get
install
vim
#
安裝
vim
編輯器$
wget
--no-check-certificate
https:///amix/vimrc/master/vimrcs/basic.vim//
復(fù)制
vim
的配置文件到你的~/.vimrc$
cp
basic.vim
~/.vimrc本課件是可編輯的正常PPT課件優(yōu)化后編輯
Python
文件時(shí)將會高亮顯示語法關(guān)鍵字。vim
共分為三種模式,分別是命令模式(Command
mode),輸入模式(Insert
mode)
和底線命令模式(Last
line
mode)。使用命令
vim
文件名,進(jìn)入
vim
編輯器,如圖
4-6
所示。圖
4-6
進(jìn)入
vim
編輯器啟動(dòng)
vim
編輯器時(shí),默認(rèn)進(jìn)入命令模式,在這個(gè)模式下,vim
編輯器會將按鍵解釋成
命令,無法對文件進(jìn)行編輯,如圖
4-7
所示。在命令模式下輸入:q
即可退出
vim
編輯器。本課件是可編輯的正常PPT課件圖
4-7
vim
編輯器命令模式在命令模式下鍵入
i
可進(jìn)入插入模式
insert,如圖
4-8
所示。在插入模式下
vim
會
將你在光標(biāo)位置輸入的每個(gè)鍵都插入到緩沖區(qū),也就是直接輸入到文本中,并在屏幕上
打印出來。一般通過插入模式對文件進(jìn)行編輯修改操作。一般編輯結(jié)束后,鍵入
ESC
鍵
退出插入模式返回命令模式,然后輸入:wq
即可保存并退出
vim
編輯器。本課件是可編輯的正常PPT課件圖
4-8
vim
編輯器插入模式軟件包安裝與卸載(1)apt-getAdvanced
Package
Tool,又名
apt-get,是一款適用于
Unix
和
Linux
系統(tǒng)的應(yīng)用程
序管理器,最初于
1998
年發(fā)布,用于檢索應(yīng)用程序并將其加載到
Debian
Linux
系統(tǒng)。
apt-get,是一條
linux
命令,主要用于自動(dòng)從互聯(lián)網(wǎng)的軟件倉庫中搜索、安裝、升級、
卸載軟件或操作系統(tǒng)。本課件是可編輯的正常PPT課件apt-get
安裝和卸載軟件包命令如下:a.apt-get
update
更新軟件包信息庫b.apt-get
upgrade
更新所有已安裝的軟件包c(diǎn).apt-get
dist-upgrade
更新整個(gè)
Debian
系統(tǒng)d.apt-get
install
packagename
安裝新軟件包e.apt-get
remove
packagename
卸載已安裝軟件包(保留配置文件)f.apt-get
-purge
remove
package_name
卸載已安裝軟件包(不保留配置文件)
g.apt-get
autoremove
packagename
卸載已安裝軟件包(卸載依賴軟件)
h.apt-get
autoclean
刪除已卸載軟件的安裝包i.apt-get
clean
刪除已卸載和安裝軟件的安裝包本課件是可編輯的正常PPT課件pip
是一個(gè)現(xiàn)代的,通用的
python
包的管理工具,pip
也是一個(gè)
python
庫,提供了
對
Python
包的查找、下載、安裝和卸載功能。一般來說
Python
需要什么包可以直接在線使用:即可,但是這種安裝方法太慢,因?yàn)樵摲椒ㄊ峭ㄟ^國外的服務(wù)器下載。為提高
pip
下
載速度,這里提供幾個(gè)國內(nèi)下載源:清華源:/simple
阿里云:/pypi/simple/中國科技大學(xué)
/simple/華中理工大學(xué):/
山東理工大學(xué):/
例如使用前清華源下載,使用如下命令:pip
install
-i
/simple
numpypip
install
包名命令本課件是可編輯的正常PPT課件在
pip
安裝中,可能無法通過正常的
pip
命令來安裝,下面將通過使用源碼編譯的方
式來進(jìn)行安裝。下面是
Linux
離線安裝
pip3
的詳細(xì)步驟:
步驟一:在官網(wǎng)下載安裝包如圖
4-9
所示;圖
4-9
pip
官網(wǎng)本課件是可編輯的正常PPT課件步驟二:將下載好的安裝包上傳至
Linux
系統(tǒng)下;
步驟三:使用如下的命令對安裝包進(jìn)行解壓;步驟四:使用
cd
命令進(jìn)入解壓好的文件所在路徑;
步驟五:執(zhí)行如下的命令進(jìn)行安裝。sudo
python3
setup.py
installpip
卸載命令為:tar
-xf
文件名pip
uninstall
包名本課件是可編輯的正常PPT課件任任務(wù)要求
常用開發(fā)工具的使用通過本章節(jié)學(xué)習(xí)將會對嵌入式人工智能應(yīng)用需要的開發(fā)環(huán)境有了整體的認(rèn)識,并對
整個(gè)環(huán)境的配置過程做到全面掌握。任知識入入SSH
遠(yuǎn)程連接(1)SSH
簡介Secure
Shell(SSH)是由
IETF(The
Internet
Engineering
Task
Force,國際互
聯(lián)網(wǎng)工程任務(wù)組)制定的建立在應(yīng)用層基礎(chǔ)上的安全網(wǎng)絡(luò)協(xié)議。它是專為遠(yuǎn)程登錄會話
(甚至可以用
Windows
遠(yuǎn)程登錄
Linux
服務(wù)器進(jìn)行文件互傳)和其他網(wǎng)絡(luò)服務(wù)提供安全性
的協(xié)議,可有效彌補(bǔ)網(wǎng)絡(luò)中的漏洞。通過
SSH,可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,也能夠
防止
DNS
欺騙和
IP
欺騙。還有一個(gè)額外的好處就是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以本課件是可編輯的正常PPT課件加快傳輸?shù)乃俣?。目前已?jīng)成為
Linux
系統(tǒng)的標(biāo)準(zhǔn)配置。(2)SFTPSFTP(Secret
File
Transfer
Protocol)是一種安全的文件傳輸協(xié)議,提供文件訪
問、傳輸和管理功能的網(wǎng)絡(luò)傳輸協(xié)議。它確保使用私有和安全的數(shù)據(jù)流來安全地傳輸數(shù)
據(jù)。SFTP
要求客戶端用戶必須由服務(wù)器進(jìn)行身份驗(yàn)證,并且數(shù)據(jù)傳輸必須通過
SSH
進(jìn)行,
也即是不傳輸明文密碼或文件數(shù)據(jù)。它允許對遠(yuǎn)程文件執(zhí)行各種操作,有點(diǎn)像遠(yuǎn)程文件
系統(tǒng)協(xié)議。(3)SSH
基礎(chǔ)用法SSH
主要用于遠(yuǎn)程登錄。例如用戶名為
user,登錄遠(yuǎn)程主機(jī)為
host,只需輸入如下
命令即可。SSH
的默認(rèn)端口是
22,如果不設(shè)置端口號登錄,則會自動(dòng)送到遠(yuǎn)程主機(jī)的
22
號端口,$
ssh
user@host本課件是可編輯的正常PPT課件可以使用-p
選項(xiàng)來修改端口號,比如連接到服務(wù)器端口的
1234。ssh
-
將
目錄。$HOME/src/目錄下面的所有文件,復(fù)制到遠(yuǎn)程主機(jī)的$HOME/src/p
1234
ldz@192.168.0.1$
cd
&&
tar
czv
src
|
ssh
user@host
'tar
xz'如果是第一次連接登錄,系統(tǒng)會提示“無法確認(rèn)
host
主機(jī)的真實(shí)性,只知道它的公鑰指紋你還想繼續(xù)連接嗎”,如下所示:
使用密碼登錄,每次都必須輸入密碼,是非常繁瑣的。但
SSH
提供了公鑰指紋,可
以省去輸入密碼的步驟。所謂“公鑰指紋”,原理很簡單,就是用戶將自己的公鑰儲存在遠(yuǎn)程主機(jī)上。登錄
的時(shí)候,遠(yuǎn)程主機(jī)會向用戶發(fā)送一段隨機(jī)字符串,用戶用自己的私鑰加密后,再發(fā)回來。
遠(yuǎn)程主機(jī)用事先儲存的公鑰進(jìn)行解密,如果成功,就證明用戶是可信的,直接允許登錄$
ssh
user@hostThe
authenticity
of
host
'host
(12.18.429.21)'
can't
be
established.RSA
key
fingerprint
is
98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.Are
you
sure
you
want
to
continue
connecting
(yes/no)?本課件是可編輯的正常PPT課件shell,不再要求密碼。遠(yuǎn)程主機(jī)必須在自己網(wǎng)站上貼出公鑰指紋,以便用戶自行核對。假定經(jīng)過風(fēng)險(xiǎn)衡量
以后,用戶決定接受這個(gè)遠(yuǎn)程主機(jī)的公鑰提示如下:
host系統(tǒng)會出現(xiàn)如下提示,表示Are
you
sure
you
want
to
continue
connecting
(yes/no)?
yes
主機(jī)已經(jīng)得到認(rèn)可。要求輸入密碼后,就可以正常登錄。當(dāng)遠(yuǎn)程主機(jī)的公鑰被接受以后,它就會被保存在文件$HOME/.ssh/known_hosts
之中。
下次再連接這臺主機(jī),系統(tǒng)就會認(rèn)出它的公鑰已經(jīng)保存在本地了,從而跳過警告部分,
直接提示輸入密碼。每個(gè)
SSH
用戶都有自己的
known_hosts
文件,此外系統(tǒng)也有這樣的文件,通常是
/etc/ssh/ssh_known_hosts,保存一些對所有用戶都可信賴的遠(yuǎn)程主機(jī)的公鑰。使用公鑰登錄要求用戶必須提供自己的公鑰。如果沒有,可以直接用
ssh-keygen
命Warning:
Permanently
added
'host,12.18.429.21'
(RSA)
to
the
list
of
known
hosts.Password:
(enter
password)本課件是可編輯的正常PPT課件令生成。輸入命令運(yùn)行結(jié)束后,在$HOME/.ssh/目錄下,會新生成兩個(gè)文件:id_rsa.pub
和
id_rsa。前者是公鑰,后者是私鑰。這時(shí)再輸入如下命令,將公鑰傳送到遠(yuǎn)程主機(jī)
host
上面再次連接時(shí)就不再輸入登錄
密碼。連接工具
MobaXtermMobaXterm
是
SSH
客戶端,可以向
Windows
桌面提供所有重要的遠(yuǎn)程網(wǎng)絡(luò)工具(SSH,X11,RDP,VNC,F(xiàn)TP,MOSH
…)和
Unix
命令(bash,ls,
cat,sed,grep,awk,rsync
等),為遠(yuǎn)程任務(wù)提供一體化服務(wù)。當(dāng)用戶使用
SSH
連接到遠(yuǎn)程服務(wù)器時(shí),將自動(dòng)彈出圖形
SFTP
瀏覽器以直接編輯遠(yuǎn)程
文件。$
ssh-keygen$
ssh-copy-id
user@host本課件是可編輯的正常PPT課件MobaXterm
軟件安裝首先下載該軟件,下載網(wǎng)址:https:///,選擇“Download”,選擇免費(fèi)版的下載。下載完成后,直接解壓文件,雙擊
exe
文件安裝軟件。軟件安裝完成后,電腦桌面將會出現(xiàn)如圖
5-1
的圖標(biāo)。圖
5-1
MobaXterm
軟件圖標(biāo)本課件是可編輯的正常PPT課件MobaXterm
軟件使用打開軟件界面如圖
5-2
所示:圖
5-2
MobaXterm
軟件界面首先創(chuàng)建
SSH
session,點(diǎn)擊菜單欄「sessions」,點(diǎn)擊「new
session」,將彈出
session
setting
對話框,如圖
5-3:本課件是可編輯的正常PPT課件圖
5-3
SSH
創(chuàng)建界面選中第一個(gè)
SSH
圖標(biāo),并填入相關(guān)信息,就可以完成
session
的創(chuàng)建。點(diǎn)擊確定后,
輸入用戶名和密碼后就可以連接上虛擬機(jī)了。且連上虛擬機(jī)之后,會自動(dòng)通過
FTP
也連
接到虛擬機(jī),直接拖拽就可以完成文件上傳和下載。登錄后的界面主要分為兩部分,左邊的是主機(jī)的文件,右邊是終端。如圖
5-4
勾選
左下角“Follow
terminal
folder”可以讓兩者的工作路徑保持一致。本課件是可編輯的正常PPT課件圖
5-4
SSH
登錄界面本課件是可編輯的正常PPT課件創(chuàng)建串口
session串口
session
創(chuàng)建如圖
5-5
所示,在
Session
settings
對話框里選擇
Serial,選擇
相對應(yīng)的串口號及波特率,點(diǎn)擊
OK
按鈕即可完成連接。同樣
session
會保存在左側(cè)的
session
標(biāo)簽頁里,方便下次連接。圖
5-5
創(chuàng)建串口
session
界面本課件是可編輯的正常PPT課件如圖
5-6
所示,可以個(gè)性化設(shè)置,如設(shè)置終端字體、設(shè)置右鍵復(fù)制、設(shè)置字號等。圖
5-6
個(gè)性化設(shè)置界面本課件是可編輯的正常PPT課件VNC
可視化連接工具(1)VNC
簡介VNC(Virtual
Network
Computer)是一款基于
UNIX
和
Linux
操作系統(tǒng)的遠(yuǎn)程控制工
具軟件,由
AT&T
的歐洲研究實(shí)驗(yàn)室開發(fā),其遠(yuǎn)程控制能力強(qiáng)大,高效實(shí)用。VNC
作為一
種遠(yuǎn)程登錄的圖形化界面軟件,能將完整的窗口界面通過網(wǎng)絡(luò)傳輸?shù)搅硪慌_計(jì)算機(jī)的屏
幕上。VNC
由兩個(gè)基礎(chǔ)部分組成:客戶端的應(yīng)用程序(vncviewer)和服務(wù)器端的應(yīng)用程序
(vncserver)。用戶需先將
VNC
server
安裝在被遠(yuǎn)程操控的計(jì)算機(jī)上后,在主控端執(zhí)行
VNC
viewer
就能進(jìn)行遠(yuǎn)程操控,且服務(wù)器端還內(nèi)建了
Java
Web
接口,開發(fā)者通過服務(wù)器
端對其他計(jì)算機(jī)的操作就能通過
Netscape
進(jìn)行顯示,這樣的操作過程和顯示方式比較直
觀方便。本課件是可編輯的正常PPT課件(2)VNC
連接apt-get
install
vnc4server在服務(wù)器端啟動(dòng)
VNC
Server
執(zhí)行如下命令安裝
VNC
Server。
vncserver然后啟動(dòng)
VNC
Server。(3)客戶端安裝
VNC
Viewer若要通過客戶端對服務(wù)器端進(jìn)行遠(yuǎn)程桌面連接,需在客戶端安裝
VNC
Viewer,首先
下載
VNC
Viewer,官方下載地址。下載完成后雙擊.exe
文件啟動(dòng)安裝向入如圖
5-7
所示。圖
5-7
VNC
Viewer
安裝向入本課件是可編輯的正常PPT課件當(dāng)看到下圖
5-8
所示時(shí),點(diǎn)擊
finish
完成安裝。圖
5-8
VNC
Viewer
安裝成功2)VNC
客戶端通過
VNC
Viewer
連接至
VNC
Server。打開客戶端
VNC
Viewer,輸入遠(yuǎn)程控制端所在局域網(wǎng)的
IP
地址和端口號進(jìn)行連接,
如圖
5-9
所示。本課件是可編輯的正常PPT課件圖
5-9
連接
VNC輸入服務(wù)器端登錄密碼,點(diǎn)擊
OK
如圖
5-10
所示。本課件是可編輯的正常PPT課件圖
5-10
輸入密碼若客戶端通過
VNC
Server
的驗(yàn)證,即成功連接到
VNC
Server
圖形化桌面,如圖
5-
11
所示為遠(yuǎn)程連接開發(fā)板圖像化桌面示例。本課件是可編輯的正常PPT課件圖
5-11
VNC
連接成功示例本課件是可編輯的正常PPT課件嵌入式微控制器
IDE
的使用Keil
MDK-ARM
是美國
Keil
軟件公司(現(xiàn)已被
ARM
公司收購)出品的支持
ARM
微控制
器的一款
IDE(集成開發(fā)環(huán)境)。MDK-ARM
包含了工業(yè)標(biāo)準(zhǔn)的
Keil
C
編譯器、宏匯編器、調(diào)試器、實(shí)時(shí)內(nèi)核等組件。
具有行業(yè)領(lǐng)先的
ARM
C/C++編譯工具鏈,完美支持
Cortex-M、Cortex-R4、ARM7
和
ARM9
系列器件,涉及世界上眾多品牌的芯片,比如:ST、Atmel、Freescale、NXP、TI
等大公
司微控制器芯片。(1)Keil
5
軟件安裝雙擊如圖
5-12
中所示圖標(biāo)進(jìn)行安裝。圖
5-12
MDK
安裝包本課件是可編輯的正常PPT課件如圖
5-13
所示,選擇安裝路徑(以
D
盤
Keil
5
為例)——點(diǎn)擊
Next,安裝路徑不
能帶中文。圖
5-13
選擇安裝路徑本課件是可編輯的正常PPT課件如圖
5-14
所示,填寫用戶名(First
name)與郵箱(E-Mail)。圖
5-14
填寫用戶名本課件是可編輯的正常PPT課件添加器件庫安裝包,如圖
5-15
所示,雙擊
Keil.STM32F4xx_DFP.1.0.8.pack
安裝包
(根據(jù)使用的芯片型號,添加對應(yīng)的器件庫包;因這里以
STM32F407xx
為例,故選擇對
應(yīng)
F4
系列的安裝包;若使用其他系列芯片,則需要添加其對應(yīng)區(qū)間的庫包;可同時(shí)添加
不同型號的器件庫安裝包)。圖
5-15
STM32F4
系列器件庫包本課件是可編輯的正常PPT課件(2)keil
5
下載工程如圖
5-16
所示,打開軟件,選擇
Project——Open
Projec...(打開工程)。圖
5-16
創(chuàng)建工程本課件是可編輯的正常PPT課件如圖
5-17
所示,找到工程存放路徑,選擇工程,點(diǎn)擊打開已經(jīng)編寫好的工程。圖
5-17
保存工程路徑本課件是可編輯的正常PPT課件如圖
5-18
所示,點(diǎn)擊如下圖所示按鈕進(jìn)行下載器配置。圖
5-18
進(jìn)入下載器配置界面本課件是可編輯的正常PPT課件如圖
5-19
選擇
Debug
選項(xiàng),這里所使用的仿真器為
J-LINK
V8
仿真器,所以在
Use
的下拉列表中選擇
J-LiNK/J-TRACE
Cortex
選項(xiàng)。圖
5-19
下載器配置本課件是可編輯的正常PPT課件如圖
5-20
所示,點(diǎn)擊
Settings
按鈕,進(jìn)入設(shè)置界面。圖
5-20
設(shè)置界面本課件是可編輯的正常PPT課件選擇
Debug
的選項(xiàng),在
Port
選項(xiàng)中選擇
SW
模式,如圖
5-21
所示的步驟
3,表示仿
真器識別到開發(fā)板的芯片。設(shè)置完成后選擇
Flash
Download
選項(xiàng)。完成此步驟,需要仿
真器連接電腦和開發(fā)板,并且需要給開發(fā)板供電。圖
5-21
Debug
界面本課件是可編輯的正常PPT課件按照如圖
5-22
所示設(shè)置下載配置,勾選“Reset
and
Run”,則在下載完程序會自動(dòng)
復(fù)位,無需手動(dòng)復(fù)位,點(diǎn)擊
Add(添加按鈕)。圖
5-22
下載配置本課件是可編輯的正常PPT課件如圖
5-23
所示采用的
STM32
的
Flash
大小是
1M
的,所以選擇容量大小為
1M
的
STM32F4xx
Flash,點(diǎn)擊
Add(添加)。圖
5-23
添加
flash本課件是可編輯的正常PPT課件如圖
5-24
所示添加成功。圖
5-24
添加成功本課件是可編輯的正常PPT課件如圖
5-25
所示,點(diǎn)擊編譯程序,在“Build
Output”窗口查看編譯結(jié)果,只有編譯
通過,程序才能被下載。圖
5-25
編譯程序本課件是可編輯的正常PPT課件如圖
5-26,程序沒有錯(cuò)誤,點(diǎn)擊下載燒寫程序。下載程序時(shí),需要仿真器連接到電
腦和開發(fā)板,并且開發(fā)板要供電。圖
5-26
下載程序本課件是可編輯的正常PPT課件Thankyouforwatching.
人工智能綜合項(xiàng)目開發(fā)第二章OpenCV基礎(chǔ)
OpenCV簡介01OpenCV安裝02圖像讀取與顯示03視頻的讀取與顯示04圖像基本操作05本課件是可編輯的正常PPT課件OpenCV
基礎(chǔ)OpenCV
簡介OpenCV(Open
Source
Computer
Vision
Library)是一個(gè)開源的跨平臺計(jì)算機(jī)視覺
和機(jī)器學(xué)習(xí)庫。擁有超過
2500
種優(yōu)化算法,包括一套全面的、經(jīng)典的和最先進(jìn)的計(jì)算機(jī)
視覺和機(jī)器學(xué)習(xí)算法。這些算法可用于檢測和識別面部,識別物體,對視頻中的人體動(dòng)
作進(jìn)行分類,跟蹤相機(jī)移動(dòng),跟蹤移動(dòng)物體等應(yīng)用。OpenCV
其本身是用
C++編寫的,同時(shí)提供了
C++,Python,Java
和
MATLAB
程序接口,
并支持
Windows、Linux、Android、Mac
OS
等操作系統(tǒng)。如圖
0-1
所示,1999
年
Intel
公司為增強(qiáng)
CPU
集群性能,啟動(dòng)了很多研究項(xiàng)目,其
中就包括
OpenCV。OpenCV
最初的核心代碼和算法規(guī)范是英特爾實(shí)驗(yàn)室團(tuán)隊(duì)完成的。2018
年發(fā)布了
OpenCV4.X
版本,該版本全面加強(qiáng)了算法的性能,補(bǔ)充了神經(jīng)網(wǎng)絡(luò)等模塊功能。本課件是可編輯的正常PPT課件圖
0-1OpenCV
版本迭代歷史OpenCV
安裝Python
開發(fā)環(huán)境安裝
OpenCV
依賴包可使用如下命令安裝。pip3
instal
opencv-python
-i
/simple
--user使用
pip3,意思是在
python3
中安裝
opencv-python
庫,可以使用如下命令來查看
pip3
的版本號和
pip3
所對應(yīng)的庫安裝路徑。-i
選項(xiàng)指定倉庫源,這使用豆瓣提供的
pip
源,用來加速下載。--user
選項(xiàng)指定是用戶安裝,避免出現(xiàn)權(quán)限不足的問題,而入致安本課件是可編輯的正常PPT課件裝失敗。pi@raspberrypi:~$
pip3
--versionpip
19.3.1
from
/usr/local/lib/python3.7/dist-packages/pip
(python
3.7)任注意
如果需要安裝指定版本的
opencv-python
庫??梢允褂萌缦旅钕炔樵儺?dāng)前有多少版本可供安裝。pip3
install
opencv-python==報(bào)錯(cuò),然后提示可以從如下版本中選擇安裝。ERROR:
Could
not
find
a
version
that
satisfies
the
requirement
opencv-python==
(from
versions:
,
,
,
,
,
,
,
,
,
,
0,1,
2,
4,
5,
6,
7,
8,
9,
0,
7,
8,
9,
1,
3,
4,
5,
6,
0)比如,需要安裝
opencv-python
庫的
6
版本,則安裝命令如下:pip3
instal
opencv-python==6
-i
https:///simple
--user圖像讀取與顯示讀入、顯示和保存圖像和視頻數(shù)據(jù)是計(jì)算機(jī)視覺中最基本也是必不可少的操作,OpenCV
提供了這些基礎(chǔ)操作的
API
函數(shù),通過本節(jié)內(nèi)容,開發(fā)者可以掌握如何使用OpenCV
庫中的函數(shù)進(jìn)行圖像和視頻的讀取、顯示和存儲。本課件是可編輯的正常PPT課件使用
OpenCV
庫的
imread
函數(shù)實(shí)現(xiàn)從磁盤中讀取一張圖像,使用函數(shù)
imshow
將它顯
示到
GUI
窗口中,圖像寫入使用
imwrite
函數(shù)。讀取、顯示與寫入圖像的流程如圖
0-1
所示:圖
0-1
圖像讀取顯示與寫入基本流程根據(jù)圖
4-2
流程,讀取一張圖片并顯示的示例代碼如下:本課件是可編輯的正常PPT課件import
cv2
as
cv#
自定義圖片地址
img_path
=
'./test_alpha.png'
#
讀入圖像img_bgr
=
cv.imread(img_path)
#
顯示圖片
cv.imshow('img_bgr',
img_bgr)
#
無限期的等待鍵盤按下
cv.waitKey(0)#銷毀所有窗體
cv.destroyAllWindows()#
存儲圖片,將圖片保存成
jpg
格式
cv.imwrite('./test.jpg',
img_bgr)通過上述代碼,可以將.png
格式的圖片另存為.jpg
格式的圖像,這是因?yàn)楹瘮?shù)
imwrite()會根據(jù)文件名的后綴名來選擇不同的壓縮編碼方式,開發(fā)者只需更改文件后綴
名即可實(shí)現(xiàn)將圖像保存成不同的圖像格式。視頻的讀取與顯示OpenCV
為開發(fā)者提供了
CV2.VideoCapture
視頻捕獲類函數(shù),這是一個(gè)通用的捕獲視本課件是可編輯的正常PPT課件頻圖像的程序接口。CV2.VideoCapture
視頻捕獲類函數(shù)如下表
4-1
所示:表
4-1
攝像頭捕獲構(gòu)造類功能cv2.VideoCapture
類的構(gòu)造函數(shù)參數(shù)說明視頻文件<VideoCaputrue
object>
=
cv2.VideoCapture(VideoPath)VideoPath:本地視頻文件路徑攝
像
頭
設(shè)
備<VideoCaputrue
object>
=
cv2.VideoCapture(index)index:攝像頭設(shè)備
ID,填
0
表示
使用系統(tǒng)默認(rèn)的攝像頭,在
linux
系統(tǒng)中,如果存在多個(gè)攝像頭,可
以使用“/dev/video1“
等這樣的
設(shè)備名通過構(gòu)造函數(shù)可獲得
VideoCapture
類的實(shí)例對象,通過實(shí)例對象
VideoCapture
的成
員方法
read
讀取視頻幀。使用
OpenCV
捕獲視頻流非常容易,流程如下圖
0-1
所示:本課件是可編輯的正常PPT課件圖
0-1
視頻捕獲基本流程本課件是可編輯的正常PPT課件視頻流捕獲示例代碼如下:import
cv2
as
cv#獲取本地?cái)z像頭對象
cap
=
cv.VideoCapture(0)
#如果檢測到攝像頭已打開
if
cap.isOpened():state,
frame
=
cap.read()
#抓取下一個(gè)視頻幀狀態(tài)和圖像while
state:#當(dāng)抓取成功則進(jìn)入循環(huán)state,frame
=
cap.read()
#
抓取每一幀圖像cv.imshow('video',frame)
#
顯示抓取到的圖像幀#
等待鍵盤按下,超時(shí)
25ms
可通過設(shè)置等待超時(shí)時(shí)間來控制視頻播放速度。k
=
cv.waitKey(25)
&
0xff
#
25ms
內(nèi)當(dāng)有鍵盤按下時(shí)返回對應(yīng)按鍵
ASCII
碼,超時(shí)返回-1if
k
==
27
or
chr(k)
==
‘q’:
#
當(dāng)按下
Esc
或者
q
時(shí)退出循環(huán)。break(1)視頻存儲視頻是由一幀一幀的圖像構(gòu)成的,當(dāng)一秒中內(nèi)切換
24
幀圖像,人眼就會覺得視頻流暢,人們把一秒鐘切換圖像的次數(shù)叫做幀率(FPS),如一秒鐘能切換
30
張圖像,則其幀率為
30FPS。為了減少視頻大小,設(shè)計(jì)了很多視頻壓縮編碼格式,如常見的
MPEG-4、H.264、H.265。將視頻壓縮編碼之后,原來為
4.976
GB
的視頻文件就被壓縮到
50MB
以本課件是可編輯的正常PPT課件內(nèi),且畫質(zhì)還原度高。在
OpenCV
中的
VideoWriter
類提供的
API
可以輕松實(shí)現(xiàn)視頻編碼壓縮。目前視頻信
息壓縮編碼的方法很多,fourcc
是用于設(shè)置壓縮幀的
4
字符編解碼方式代碼。視頻保存示例代碼如下:#!/usr/bin/env
python3
#
-*-
coding:UTF8
-*-
import
cv2
as
cv
import
numpy
as
np#獲取本地?cái)z像頭對象
cap
=
cv.VideoCapture(0)#
指定視頻的編碼格式fourcc
=
cv.VideoWriter_fourcc(*
'XVID')
#
保存到文件,VideWriter
參數(shù)說明:#
VideWriter(文件名,
編碼格式,
FPS,
幀大小,isColor),isColor
默認(rèn)為
True
表示保存彩圖
out
=
cv.VideoWriter('output.avi',
fourcc,
30,
(640,
480))while
cap.isOpened():
ret,
frame
=
cap.read()
if
ret:#
幀翻轉(zhuǎn)本課件是可編輯的正常PPT課件
圖像基本操作圖像運(yùn)算指以圖像為單位進(jìn)行的操作,該操作對圖像中的所有像素同樣進(jìn)行,運(yùn)算
的結(jié)果是一幅其灰度分布與原來參與運(yùn)算圖像灰度分布不同的新圖像。具體的運(yùn)算主要
包括算術(shù)和邏輯運(yùn)算,它們通過改變像素的值來得到圖像增強(qiáng)的效果。算術(shù)運(yùn)算是指對兩幅或兩幅以上的輸入圖像中對應(yīng)像素的灰度值作加、減、乘或除
等運(yùn)算后,將運(yùn)算結(jié)果作為輸出圖像相應(yīng)像素的灰度值。這種運(yùn)算的特點(diǎn)在于:其一,
輸出圖像像素的灰度僅取決于兩幅或兩幅以上的輸入圖像的對應(yīng)像素灰度值,和點(diǎn)運(yùn)算out.write(frame)
#
保存視頻幀cv.imshow('frame',
frame)
#
顯示當(dāng)前幀k
=
cv.waitKey(25)
&
0xFFif
chr(k)
==
'q':
#
按‘q’鍵退出break#
調(diào)用
release
函數(shù)釋放內(nèi)存cap.release()out.release()cv.destroyAllWindows()本課件是可編輯的正常PPT課件相似,算術(shù)運(yùn)算結(jié)果和參與運(yùn)算像素的鄰域內(nèi)像素的灰度值無關(guān);其二,算術(shù)運(yùn)算不會
改變像素的空間位置。(1)圖像按位運(yùn)算圖像的基本運(yùn)算有很多種,比如兩幅圖像可以相加、相減、相乘、相除、位運(yùn)算、
平方根、對數(shù)、絕對值等。通常在圖像處理過程中需要對圖像截取其中的一部分作為感
興趣的區(qū)域(region
of
interest,ROI),按位運(yùn)算常被廣泛用于
ROI
區(qū)域提取。所謂按位運(yùn)算,就是對圖像像素的二進(jìn)制形式的每個(gè)
bit
進(jìn)行對應(yīng)運(yùn)算。按位運(yùn)算
通常包括按位與、按位或、按位非和按位異或運(yùn)算。OpenCV
提供了函數(shù)
cv2.
bitwise_and
能將兩幅圖像
src1
與
src2
每個(gè)像素值進(jìn)行位
與運(yùn)算,并返回處理后的圖像。該函數(shù)的用法如表
5-1
所示:表
5-1
位與函數(shù)函數(shù)名稱cv2.bitwise_and函數(shù)原型bitwise_and(src1,
src2[,
dst[,
mask]])
->
dst必填參數(shù)src1&src2:輸入的需要按位與的圖像,要求兩幅圖像有相同的類型和大小本課件是可編輯的正常PPT課件默認(rèn)參數(shù)dst:與輸入圖像有同樣大小和類型的輸出圖像mask:輸入掩模,可省略參數(shù),必須是
8
位單通道圖像返回值返回位與之后的圖像調(diào)用示例output
=
cv2.bitwise_and(source,
mask)函數(shù)
cv2.bitwise_not
將輸入圖像
src
每個(gè)像素值按位取反,并返回處理后的圖像。
該函數(shù)的用法如表
5-2
所示:表
5-2
位或函數(shù)函數(shù)名稱cv2.
bitwise_not函數(shù)原型bitwise_not(src[,
dst[,
mask]])
->
dst必填參數(shù)src:輸入的需要按位取反的圖像默認(rèn)參數(shù)dst:與輸入圖像有同樣大小和類型的輸出圖像mask:輸入掩模,可省略參數(shù),必須是
8
位單通道圖像返回值返回位與之后的圖像調(diào)用示例output
=
cv2.bitwise_not(source)(2)圖像加法OpenCV
提供了
cv2.add()函數(shù)實(shí)現(xiàn)圖像相加,使用該函數(shù)進(jìn)行圖像的加法運(yùn)算時(shí),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒教師月工作總結(jié)模板(11篇)
- 數(shù)智驅(qū)動(dòng)高等教育創(chuàng)新發(fā)展路徑
- 創(chuàng)新藥行業(yè)的未來發(fā)展與趨勢解析
- 2025至2030年中國羽毛拍線行業(yè)發(fā)展研究報(bào)告
- 2025至2030年中國網(wǎng)類經(jīng)編機(jī)數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國給水用硬聚氯乙烯管材行業(yè)投資前景及策略咨詢報(bào)告001
- 2025至2030年中國線環(huán)鉤導(dǎo)架連桿市場分析及競爭策略研究報(bào)告
- 2025至2030年中國縱梁行業(yè)投資前景及策略咨詢研究報(bào)告
- 廣西壯族自治區(qū)手足口病流行病學(xué)趨勢特征與病原學(xué)分布變遷的研究
- 對分課堂教學(xué)模式在高中英語閱讀教學(xué)中的實(shí)驗(yàn)研究
- 房地產(chǎn)行業(yè)未來走勢與機(jī)遇分析
- 2025年中國色度儀行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資策略研究報(bào)告
- 上海市黃浦區(qū)2025屆高三高考二模地理試卷(含答案)
- 7.2做中華人文精神的弘揚(yáng)者 教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版道德與法治七年級下冊
- 《三氣周瑜》兒童故事繪本ppt課件(圖文演講)
- 血液透析血標(biāo)本采集
- 高速公路半填半挖及填挖交界路基施工工法
- 中國銀行業(yè)信息科技十三五發(fā)展規(guī)劃監(jiān)管指導(dǎo)意見
- 制氧裝置的危險(xiǎn)性及安全要素分析
- 滬教版牛津版四年級下冊英語全冊教案及教學(xué)設(shè)計(jì)
- 角色扮演法在精神病護(hù)理學(xué)教學(xué)中的應(yīng)用與體會
評論
0/150
提交評論