模塊13 視頻處理《計(jì)算機(jī)視覺(jué)處理項(xiàng)目實(shí)戰(zhàn)》教學(xué)課件_第1頁(yè)
模塊13 視頻處理《計(jì)算機(jī)視覺(jué)處理項(xiàng)目實(shí)戰(zhàn)》教學(xué)課件_第2頁(yè)
模塊13 視頻處理《計(jì)算機(jī)視覺(jué)處理項(xiàng)目實(shí)戰(zhàn)》教學(xué)課件_第3頁(yè)
模塊13 視頻處理《計(jì)算機(jī)視覺(jué)處理項(xiàng)目實(shí)戰(zhàn)》教學(xué)課件_第4頁(yè)
模塊13 視頻處理《計(jì)算機(jī)視覺(jué)處理項(xiàng)目實(shí)戰(zhàn)》教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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類既支持直接從攝像機(jī)中讀取視頻,比如電腦自帶攝像頭;也支持從視頻文件中讀取,一般格式為“.avi”,“.mpg”格式。在OpenCV中,使用cv2.VideoCapture()作為從不同來(lái)源捕獲視頻的類,創(chuàng)建一個(gè)VideoCapture類的實(shí)例,語(yǔ)法格式如下所示。cap=cv.VideoCapture()參數(shù)說(shuō)明device打開(kāi)的視頻捕獲設(shè)備id,如果只有一個(gè)攝像頭可以填0,表示打開(kāi)默認(rèn)的攝像頭。filepath獲取的視頻文件的路徑讀取攝像頭與視頻文件要從攝像頭或者視頻文件逐幀捕獲畫面,需要調(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類將圖片序列保存為視頻。同時(shí),通過(guò)該類,我們也可以修改視頻的各種屬性,完成對(duì)視頻類型的轉(zhuǎn)換??梢允褂胏ap.get()方法來(lái)獲取訪問(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)示例:訪問(wèn)獲取攝像頭的幀寬度、高度以及幀率總結(jié)01視頻對(duì)象屬性VideoWriter類CONTENTS目錄01VideoWriter類VideoWriter類OpenCV提供了寫入視頻的接口類VideoWriter,VideoWriter是向文件中以指定的編碼格式將每一幀圖片寫入到視頻中。在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類型,是否為彩色圖像VideoWriter類在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編碼類型,文件名后綴為.avi廣泛兼容,但會(huì)產(chǎn)生大文件cv2.VideoWriter_fourcc('P','I','M','I')MPEG-1編碼類型,文件名后綴為.avicv2.VideoWriter_fourcc('X','V','I','D')MPEG-4編碼類型,文件名后綴為.avi,可指定結(jié)果視頻的大小cv2.VideoWriter_fourcc('T','H','E','O')OggVorbis,文件名后綴為.ogvcv2.VideoWriter_fourcc('F','L','V','1')Flash視頻,文件名后綴為.flvVideoWriter類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類手寫數(shù)字識(shí)別CONTENTS目錄01手寫數(shù)字識(shí)別手寫數(shù)字識(shí)別——特征值提取假設(shè)我們要讓程序識(shí)別下圖中的數(shù)字(當(dāng)然,你一眼就知道是“8”,但是現(xiàn)在要讓計(jì)算機(jī)識(shí)別出來(lái))。識(shí)別的方式是,依次計(jì)算該數(shù)字圖像(即寫有數(shù)字的圖像)與下方數(shù)字圖像的距離,與哪個(gè)數(shù)字圖像的距離最近,就認(rèn)為它與哪幅圖像最像,從而確定這幅圖像中的數(shù)字是多少。手寫數(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è)像素。手寫數(shù)字識(shí)別——特征值提取手寫數(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。手寫數(shù)字識(shí)別——特征值提取以此類推,計(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ù)字。手寫數(shù)字識(shí)別——特征值提取有時(shí),為了處理上的方便,我們會(huì)把得到的特征值排成一行(寫為數(shù)組形式),如下所示:其他數(shù)字與數(shù)字“8”的圖像類似,每個(gè)數(shù)字圖像的特征值都可以用一行數(shù)字來(lái)表示。從某種意義上來(lái)說(shuō),這一行數(shù)字類似于我們的身份證號(hào)碼,一般來(lái)說(shuō),具有唯一性。手寫數(shù)字識(shí)別——數(shù)字識(shí)別數(shù)字識(shí)別要做的就是比較待識(shí)別圖像與圖像集中的哪個(gè)圖像最近。這里,最近指的是二者之間的歐氏距離最短。本例中為了便于說(shuō)明和理解進(jìn)行了簡(jiǎn)化,將原來(lái)下方的10個(gè)數(shù)字減少為2個(gè)(也即將分類從10個(gè)減少為2個(gè))。假設(shè)要識(shí)別的圖像為圖中上方的數(shù)字“8"圖像,就要判斷該圖像到底屬于圖中下方的數(shù)字“8"圖像的分類還是數(shù)字“7”圖像的分類。手寫數(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)益歸上傳用戶所有。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論