版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《計(jì)算機(jī)視覺(jué)處理項(xiàng)目實(shí)戰(zhàn)》?精品課件合集?精品課件合集第X章XXXX模塊13視頻處理讀取攝像頭與視頻文件CONTENTS目錄01讀取攝像頭與視頻文件讀取攝像頭與視頻文件VideoCapture類(lèi)既支持直接從攝像機(jī)中讀取視頻,比如電腦自帶攝像頭;也支持從視頻文件中讀取,一般格式為“.avi”,“.mpg”格式。在OpenCV中,使用cv2.VideoCapture()作為從不同來(lái)源捕獲視頻的類(lèi),創(chuàng)建一個(gè)VideoCapture類(lèi)的實(shí)例,語(yǔ)法格式如下所示。cap=cv.VideoCapture()參數(shù)說(shuō)明device打開(kāi)的視頻捕獲設(shè)備id,如果只有一個(gè)攝像頭可以填0,表示打開(kāi)默認(rèn)的攝像頭。filepath獲取的視頻文件的路徑讀取攝像頭與視頻文件要從攝像頭或者視頻文件逐幀捕獲畫(huà)面,需要調(diào)用cap.read()方法,該方法有兩個(gè)返回值,一個(gè)是返回獲取到的每一幀圖像,另一個(gè)返回布爾值判斷是都讀取成功。#判斷是否讀取成功while(cap.isOpened()):#獲取每一幀圖像ret,frame=cap.read()#獲取成功顯示圖像ifret==True:cv.imshow('frame',frame)讀取攝像頭與視頻文件讀取視頻成功后,實(shí)現(xiàn)按鍵退出程序的功能,ord('q')返回“q”字符對(duì)應(yīng)的8位ASCII值,而cv2.waitKey()和“0xFF”的按位與(&)運(yùn)算用于僅獲取cv2.waitKey()的最后8位。因此,可以對(duì)這兩個(gè)值進(jìn)行比較,如果相等則退出程序。ifcv.waitKey(25)&0xFF==ord('q'):break最后,使用cap.release()函數(shù)釋放所有內(nèi)容。cap.release()cv.destoryAllwindows()讀取攝像頭與視頻文件importnumpyasnpimportcv2ascv#獲取視頻對(duì)象cap=cv.VideoCapture('./image/cap.mp4')#判斷是否讀取成功while(cap.isOpened()):#獲取每一幀圖像ret,frame=cap.read()#獲取成功顯示圖像ifret==True:cv.imshow('frame',frame)#每一幀間隔為25msifcv.waitKey(25)&0xFF==ord('q'):break#釋放視頻對(duì)象cap.release()cv.destoryAllwindows()示例:讀取視頻文件總結(jié)01讀取攝像頭與視頻文件視頻對(duì)象屬性CONTENTS目錄01視頻對(duì)象屬性視頻對(duì)象屬性VideoWriter類(lèi)將圖片序列保存為視頻。同時(shí),通過(guò)該類(lèi),我們也可以修改視頻的各種屬性,完成對(duì)視頻類(lèi)型的轉(zhuǎn)換??梢允褂胏ap.get()方法來(lái)獲取訪(fǎng)問(wèn)捕獲對(duì)象的某些屬性,語(yǔ)法格式如下所示所示。retval=cap.get(propId)參數(shù)說(shuō)明0視頻文件的當(dāng)前位置1從0開(kāi)始索引幀,幀位置2視頻文件的相對(duì)位置(0表示開(kāi)始,1表示結(jié)束)3視頻流的幀寬度4視頻流的幀高度5幀率6編解碼器四字符代碼7視頻文件的幀視頻對(duì)象屬性importcv2ascvcap=cv.VideoCapture(0)#獲取視頻對(duì)象frame_width=cap.get(3)frame_height=cap.get(4)fps=cap.get(5)#打印屬性值print("幀寬度:",frame_width)print("幀高度:",frame_height)print("幀率:",fps)示例:訪(fǎng)問(wèn)獲取攝像頭的幀寬度、高度以及幀率總結(jié)01視頻對(duì)象屬性VideoWriter類(lèi)CONTENTS目錄01VideoWriter類(lèi)VideoWriter類(lèi)OpenCV提供了寫(xiě)入視頻的接口類(lèi)VideoWriter,VideoWriter是向文件中以指定的編碼格式將每一幀圖片寫(xiě)入到視頻中。在OpenCV中,提供了cv2.VideoWriter()函數(shù)來(lái)實(shí)現(xiàn)初始化的工作,語(yǔ)法格式如下所示。cap=cv.VideoWriter(filename,fourcc,fps,frameSize,isColor=true)參數(shù)說(shuō)明filename保存的視頻文件名,如果文件名存在,覆蓋原文件fourcc指定視頻編解碼器的四字節(jié)代碼fps幀速率framesize幀的長(zhǎng)寬isColorBool類(lèi)型,是否為彩色圖像VideoWriter類(lèi)在OpenCV中,cv2.VideoWriter_fourcc()函數(shù)用來(lái)設(shè)置視頻的編解碼器。該函數(shù)的參數(shù)有4個(gè),這4個(gè)字符構(gòu)成了編解碼器的“4字標(biāo)記”,每個(gè)編解碼器都有一個(gè)這樣的標(biāo)記。典型的編解碼器在Windows有DIVX(.avi)、在OS中有MJPG(.mp4),DIVX(.avi),X264(.mkv)。參數(shù)說(shuō)明cv2.VideoWriter_fourcc('M','P','4','V')MPEG-4編碼.mp4可指定結(jié)果視頻的大小cv2.VideoWriter_fourcc('X','2','6','4')MPEG-4編碼.mp4可指定結(jié)果視頻的大小cv2.VideoWriter_fourcc('I','4','2','0')YUV編碼類(lèi)型,文件名后綴為.avi廣泛兼容,但會(huì)產(chǎn)生大文件cv2.VideoWriter_fourcc('P','I','M','I')MPEG-1編碼類(lèi)型,文件名后綴為.avicv2.VideoWriter_fourcc('X','V','I','D')MPEG-4編碼類(lèi)型,文件名后綴為.avi,可指定結(jié)果視頻的大小cv2.VideoWriter_fourcc('T','H','E','O')OggVorbis,文件名后綴為.ogvcv2.VideoWriter_fourcc('F','L','V','1')Flash視頻,文件名后綴為.flvVideoWriter類(lèi)importcv2ascvcap=cv.VideoCapture(0)fourcc=cv.VideoWriter_fourcc('m','p','4','v')out=cv.VideoWriter('cap.avi',fourcc,30,(640,480))whileTrue:ret,frame=cap.read()out.write(frame)cv.imshow("video",frame)ifcv.waitKey(10)==27:breakcap.release()out.release()cv.destroyAllWindows()示例:保存視頻總結(jié)01VideoWriter類(lèi)手寫(xiě)數(shù)字識(shí)別CONTENTS目錄01手寫(xiě)數(shù)字識(shí)別手寫(xiě)數(shù)字識(shí)別——特征值提取假設(shè)我們要讓程序識(shí)別下圖中的數(shù)字(當(dāng)然,你一眼就知道是“8”,但是現(xiàn)在要讓計(jì)算機(jī)識(shí)別出來(lái))。識(shí)別的方式是,依次計(jì)算該數(shù)字圖像(即寫(xiě)有數(shù)字的圖像)與下方數(shù)字圖像的距離,與哪個(gè)數(shù)字圖像的距離最近,就認(rèn)為它與哪幅圖像最像,從而確定這幅圖像中的數(shù)字是多少。手寫(xiě)數(shù)字識(shí)別——特征值提取下面我們把數(shù)字圖像劃分成很多小塊,該圖中每個(gè)數(shù)字被分成6行5列,共計(jì)6x5=30個(gè)小塊。此時(shí),每個(gè)小塊是由很多個(gè)像素點(diǎn)構(gòu)成的。當(dāng)然,也可以將每一個(gè)像素點(diǎn)理解為一個(gè)更小的子塊。為了敘述上的方便,將這些小塊表示為B(Bigger),將B內(nèi)的像素點(diǎn),記為s(Smaller)。因此,待識(shí)別的數(shù)字“8”的圖像可以理解為:由6行5列,共計(jì)6x5=30個(gè)小塊B構(gòu)成。每個(gè)小塊B內(nèi)其實(shí)是由MxN個(gè)像素(更小塊S)構(gòu)成的。為了描述上的方便,假設(shè)每個(gè)小塊大小為10x10=100個(gè)像素。手寫(xiě)數(shù)字識(shí)別——特征值提取手寫(xiě)數(shù)字識(shí)別——特征值提取然后讓我們計(jì)算每個(gè)小塊B內(nèi),有多少個(gè)黑色的像素點(diǎn)?;蛘哌@樣說(shuō),計(jì)算每個(gè)小塊B內(nèi)有多少個(gè)更小塊S是黑色的。仍以數(shù)字“8”的圖像為例,其第1行中:第1個(gè)小塊B共有0個(gè)像素點(diǎn)(更小塊S)是黑色的,記為0。第2個(gè)小塊B共有28個(gè)像素點(diǎn)(更小塊S)是黑色的,記為28。第3個(gè)小塊B共有10個(gè)像素點(diǎn)(更小塊S)是黑色的,記為10。第4個(gè)小塊B共有11個(gè)像素點(diǎn)(更小塊S)是黑色的,記為11。手寫(xiě)數(shù)字識(shí)別——特征值提取以此類(lèi)推,計(jì)算出數(shù)字“8”的圖像中每一個(gè)小塊B中有多少個(gè)像素點(diǎn)是黑色的,如下圖所示。我們觀察后會(huì)發(fā)現(xiàn),不同的數(shù)字圖像中每個(gè)小塊B內(nèi)黑色像素點(diǎn)的數(shù)量是不一樣的。正是這種不同,使我們能用該數(shù)量(每個(gè)小塊B內(nèi)黑色像素點(diǎn)的個(gè)數(shù))作為特征來(lái)表示每一個(gè)數(shù)字。手寫(xiě)數(shù)字識(shí)別——特征值提取有時(shí),為了處理上的方便,我們會(huì)把得到的特征值排成一行(寫(xiě)為數(shù)組形式),如下所示:其他數(shù)字與數(shù)字“8”的圖像類(lèi)似,每個(gè)數(shù)字圖像的特征值都可以用一行數(shù)字來(lái)表示。從某種意義上來(lái)說(shuō),這一行數(shù)字類(lèi)似于我們的身份證號(hào)碼,一般來(lái)說(shuō),具有唯一性。手寫(xiě)數(shù)字識(shí)別——數(shù)字識(shí)別數(shù)字識(shí)別要做的就是比較待識(shí)別圖像與圖像集中的哪個(gè)圖像最近。這里,最近指的是二者之間的歐氏距離最短。本例中為了便于說(shuō)明和理解進(jìn)行了簡(jiǎn)化,將原來(lái)下方的10個(gè)數(shù)字減少為2個(gè)(也即將分類(lèi)從10個(gè)減少為2個(gè))。假設(shè)要識(shí)別的圖像為圖中上方的數(shù)字“8"圖像,就要判斷該圖像到底屬于圖中下方的數(shù)字“8"圖像的分類(lèi)還是數(shù)字“7”圖像的分類(lèi)。手寫(xiě)數(shù)字識(shí)別——數(shù)字識(shí)別提取特征值,分別提取待識(shí)別圖像的特征值和特征圖像的特征值。為了說(shuō)明和理解上的方便,將特征進(jìn)行簡(jiǎn)化,每個(gè)數(shù)字圖像只提取4個(gè)特征值(劃分為2x2=4個(gè)子塊B),如圖所示。此時(shí),提取到的特征值分別為:待識(shí)別的數(shù)字“8”圖像:[3,7,8,13]
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物可吸收支架臨床應(yīng)用進(jìn)展
- XX單位2025年冬季安全生產(chǎn)隱患排查整治工作情況報(bào)告
- 生物制品長(zhǎng)期穩(wěn)定性試驗(yàn)方案制定規(guī)范
- 生物制劑臨床試驗(yàn)中期療效預(yù)測(cè)模型構(gòu)建
- 深度解析(2026)《GBT 20501.3-2017公共信息導(dǎo)向系統(tǒng) 導(dǎo)向要素的設(shè)計(jì)原則與要求 第3部分:平面示意圖》
- 物聯(lián)網(wǎng)技術(shù)人才招聘面試題集與解析
- 生活質(zhì)量改善為目標(biāo)的兒童癥狀控制方案設(shè)計(jì)
- 金融科技合規(guī)官面試題及反洗錢(qián)措施含答案
- 游戲行業(yè)運(yùn)營(yíng)策劃經(jīng)理面試題及答案
- 面試題解析渤海銀行政助理崗位
- 胎膜早破的診斷與處理指南
- 被壓迫者的教育學(xué)
- 2025年科研倫理與學(xué)術(shù)規(guī)范期末考試試題及參考答案
- 2025年國(guó)家開(kāi)放電大行管本科《公共政策概論》期末考試試題及答案
- 四川省教育考試院2025年公開(kāi)招聘編外聘用人員筆試考試參考試題及答案解析
- 超市商品陳列學(xué)習(xí)培訓(xùn)
- 2025年中級(jí)煤礦綜采安裝拆除作業(yè)人員《理論知識(shí)》考試真題(含解析)
- 2025年電機(jī)與拖動(dòng)基礎(chǔ)期末考試題庫(kù)及答案
- 防噴演練及硫化氫防護(hù)流程
- 隧道通風(fēng)機(jī)操作規(guī)程及維護(hù)指南
- 全國(guó)大學(xué)生職業(yè)規(guī)劃大賽《城市軌道交通運(yùn)營(yíng)管理》專(zhuān)業(yè)生涯發(fā)展展示【高職(專(zhuān)科)】
評(píng)論
0/150
提交評(píng)論