《人工智能綜合項(xiàng)目實(shí)踐》全套教學(xué)課件_第1頁
《人工智能綜合項(xiàng)目實(shí)踐》全套教學(xué)課件_第2頁
《人工智能綜合項(xiàng)目實(shí)踐》全套教學(xué)課件_第3頁
《人工智能綜合項(xiàng)目實(shí)踐》全套教學(xué)課件_第4頁
《人工智能綜合項(xiàng)目實(shí)踐》全套教學(xué)課件_第5頁
已閱讀5頁,還剩474頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論