人工智能數據服務 課件 2-2 項目二 數據采集 任務2 端側數據采集_第1頁
人工智能數據服務 課件 2-2 項目二 數據采集 任務2 端側數據采集_第2頁
人工智能數據服務 課件 2-2 項目二 數據采集 任務2 端側數據采集_第3頁
人工智能數據服務 課件 2-2 項目二 數據采集 任務2 端側數據采集_第4頁
人工智能數據服務 課件 2-2 項目二 數據采集 任務2 端側數據采集_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

任務2端側數據采集2任務描

述任務導入知

備任務小

結任務實

施攝像頭數據采集作為端側數據采集的一個重要應用,不僅實現了對城市、校園及自然環境的實時視頻監視,還持續積累了寶貴的圖像數據資源。這些數據不僅是技術處理的基礎,更是洞察社會現象、推動社會進步的寶貴財富。在數據采集的過程中,學生不僅能學習到相關技術知識,還能增強社會責任感,思考如何利用科技服務于社會,從數據中發現并解決問題,共同推動社會向前發展。任務

入任

述知

備任務小

結任務實

施本任務旨在實現對指定區域的實時視頻監控和數據采集,通過攝像頭設備采集目標區域的視頻數據。同時,將采集到的視頻數據進行分幀處理,并將分幀的結果保存到以視頻名命名的文件夾當中。任務導

入知

備任

述任務小

結任務實

施OpenCV庫的基本概念和功能OpenCV庫的基本概念OpenCV庫的功能2.2.1了解OpenCV庫OpenCV是一個跨語言的開源計算機視覺和機器學習庫,提供超過2500個優化算法,支持圖像處理和多種計算機視覺功能,并隨著版本更新不斷引入新技術和優化,擁有龐大的開發者社區支持。OpenCV的版本更新帶來重大架構改進、新特性增加及問題修復,同時引入更高效的算法和機器學習技術,通過硬件加速和代碼優化提升性能,滿足復雜任務需求。①核心模塊②圖像處理模塊③特征檢測與描述模塊④目標檢測與跟蹤模塊⑤3D重建模塊⑥機器學習模塊任務導

入知

備任

述任務小

結任務實

施2.OpenCV-Python的安裝和基本調用方法2.1.1網絡爬蟲的基本原理及基本庫的使用特

點詳

解易用性Python的語法簡潔明了,易于上手,使得OpenCV的功能能夠更快速地被開發者所掌握和使用豐富的接口OpenCV-Python提供了大量的API接口,涵蓋了圖像處理、特征提取、目標檢測、機器學習等多個方面,滿足了開發者在計算機視覺領域的各種需求跨平臺性OpenCV-Python可以在多種操作系統上運行,包括Windows、Linux和macOS等,使得開發者可以在不同的環境下進行開發和部署主

能詳

解圖像處理包括圖像讀取、保存、轉換、濾波、直方圖均衡化等基本操作,幫助開發者對圖像進行預處理和增強特征提取與匹配支持多種特征提取算法,如SIFT、SURF、ORB等,以及特征匹配技術,用于圖像識別、目標跟蹤等任務目標檢測與識別通過級聯分類器、HOG+SVM、深度學習等方法實現人臉、物體等目標的檢測與識別視頻處理與分析支持視頻文件的讀取、播放、錄制,以及實時視頻流的處理,用于視頻監控、運動分析等領域機器學習集成了多種機器學習算法,如KNN、SVM、決策樹等,使得開發者能夠利用機器學習技術對圖像數據進行分類、聚類等操作應

景詳

解自動駕駛通過圖像處理技術識別道路標志、行人、車輛等目標,實現自動駕駛的導航與決策人臉識別與身份驗證利用特征提取與匹配技術實現人臉的識別與身份驗證,應用于安防、門禁等領域醫學影像分析對醫學影像進行預處理、分割、特征提取等操作,輔助醫生進行疾病診斷智能安防通過視頻處理與分析技術實現異常事件的檢測與報警,提高安防系統的智能化水平機器人視覺為機器人提供視覺感知能力,實現目標跟蹤、導航、避障等功能pipinstallopencv-python任務導

入知

備任

述任務小

結任務實

施2.OpenCV-Python的安裝和基本調用方法2.1.1網絡爬蟲的基本原理及基本庫的使用importcv2

#讀取圖片

img=cv2.imread('example.jpg')

#顯示圖片

cv2.imshow('image',img)

#等待按鍵按下,然后關閉窗口

cv2.waitKey(0)

cv2.destroyAllWindows()項

入知

備任

述任務小

結任務實

施1.OpenCV中與攝像頭相關的函數和類cv2.VideoCapture類:用于捕獲視頻流,從攝像頭或視頻文件中讀取幀。2.2.2攝像頭操作(1)cv2.VideoCapture(index,apiPreference=0):創建一個VideoCapture對象,用于捕獲視頻流。index是攝像頭的ID,通常為0(表示第一個攝像頭);apiPreference是一個可選參數,用于指定使用哪種后端API。(2)cap.read():從VideoCapture對象中讀取一幀。返回兩個值:一個布爾值(True/False,表示是否成功讀取幀)和一個數組(表示幀的圖像)。(3)cap.isOpened():檢查VideoCapture對象是否成功打開。(4)cap.release():釋放VideoCapture對象,關閉攝像頭或視頻文件。(5)cap.set(propId,value):設置攝像頭屬性。propId是屬性標識符(如cv2.CAP_PROP_FRAME_WIDTH表示幀寬度),value是要設置的值。(6)cap.get(propId):獲取攝像頭屬性。propId是屬性標識符,函數返回屬性的當前值。同時,OpenCV提供了cv2.CAP_PROP_*系列的常量,用于指定要獲取的攝像頭屬性。frame_width=cap.get(cv2.CAP_PROP_FRAME_WIDTH)項

入知

備任

述任務小

結任務實

施2.攝像頭的初始化和操作2.2.2攝像頭操作importcv2#初始化攝像頭cap=cv2.VideoCapture(0)#檢查是否成功打開攝像頭ifnotcap.isOpened():print("無法打開攝像頭")exit()#獲取攝像頭屬性frame_width=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))frame_height=int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))fps=cap.get(cv2.CAP_PROP_FPS)print(f"攝像頭屬性:寬度={frame_width},高度={frame_height},FPS={fps}")#釋放攝像頭資源cap.release()首先初始化攝像頭并檢查是否成功打開;然后,使用cap.get()函數獲取攝像頭的屬性,并打印出來;最后,釋放攝像頭資源。在實際應用中,可能還需要處理其他情況,如攝像頭未連接或無法訪問的情況,以及可能出現的異常。項

入知

備任

述任務小

結任務實

施2.2.3圖像采集與顯示#創建一個VideoCapture對象,參數0表示默認攝像頭

cap=cv2.VideoCapture(0)

#檢查攝像頭是否成功打開

ifnotcap.isOpened():

print("Error:Couldnotopenvideodevice.")

exit()whileTrue:

#讀取一幀圖像

ret,frame=cap.read()

#檢查是否成功讀取幀

ifnotret:

print("Error:Couldnotreceiveframefromvideodevice.")

break

使用默認的攝像頭對象循環中不斷地從攝像頭中捕獲幀項

入知

備任

述任務小

結任務實

施2.2.3圖像采集與顯示frame_count=0whileTrue:#...(讀取幀的代碼)#保存每一幀為JPEG格式的本地文件cv2.imwrite(f"frame_{frame_count}.jpg",frame)frame_count+=1whileTrue:#...(讀取幀的代碼)#顯示幀cv2.imshow('CameraFeed',frame)#等待按鍵輸入,如果按下'q'鍵,則退出循環ifcv2.waitKey(1)&0xFF==ord('q'):break將捕獲的幀保存為本地文件使用OpenCV的imshow()函數來顯示采集到的視頻幀項

入任

述任務小

結任務實

施知

備端側數據采集的任務工單如下表:班級:組別:姓名:掌握程度:任務名稱基于攝像頭的端側數據采集任務目標利用USB攝像頭結合Python-OpenCV采集端側的視頻數據,并將視頻數據分幀處理,保存到與視頻同名的文件夾中采集數據視頻數據工具清單Python、USB攝像頭、OpenCV操作步驟1.配置視頻數據采集虛擬環境,安裝相關的Python模塊2.基于配置好的虛擬環境,結合USB攝像頭采集視頻數據。3.將采集到的視頻進行視頻分幀,存儲到對應的文件夾中考核標準1.實現與性能:[能否正常讀取攝像頭數據]2.穩定性和可靠性:[長時間穩定運行,異常處理能力]3.數據質量:[采集的視頻幀的清晰程度、分辨率的大小]項

入任

述任務小

結任務實

施知

備步驟一端側數據采集環境搭建(1)參照任務2.1任務實施的步驟一,創建一個Python版本為3.8的虛擬環境。(2)配置端側數據采集所需模塊。激活虛擬環境:condaactivateclient_side,如圖2-2-2所示,圖中最左邊的狀態由(base)轉變為(client_side)。安裝調用攝像頭捕獲數據OpenCV模塊項

入任

述任務小

結任務實

施知

備步驟二數據采集環境和攝像頭功能測試測試代碼importcv2cap=cv2.VideoCapture(0)while(cap.isOpened()):#判斷是否打開攝像頭

ret,img=cap.read()#獲取數據

ifret:

cv2.imshow('test',img)#顯示視頻幀

ifcv2.waitKey(25)&0xFF==ord('q'):#判斷是否停止

break

else:

breakcap.release()#釋放攝像頭cv2.destroyAllWindows()#關閉窗口項

入任

述任務小

結任務實

施知

備步驟三采集視頻數據#創建VideoWriter對象,用于保存視頻output_file='output.mp4'out=cv2.VideoWriter(output_file,video_codec,frame_rate,(capture_width,capture_height))#將視頻設置參數存儲到JSON文件中video_settings={'capture_width':capture_width,'capture_height':capture_height,'frame_rate':frame_rate,'video_codec':'mp4v'}withopen('video_settings.json','w')assettings_file:json.dump(video_settings,settings_file)首先設置了視頻捕獲的分辨率和幀率,然后使用OpenCV的VideoCapture類來從默認攝像頭捕獲視頻。捕獲的每一幀都被寫入一個通過VideoWriter類創建的視頻文件中,同時,將視頻的設置參數保存到一個JSON文件中,以便后續使用項

入任

述任務小

結任務實

施知

備步驟四視頻分幀ifnotos.path.exists(output_dir):

os.makedirs(output_dir)

#初始化幀計數器

frame_count=0

whileTrue:

ret,frame

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論