OpenCV与相机的关系
經(jīng)常碰到朋友,尤其是計(jì)算機(jī)視覺初學(xué)者朋友問(wèn)到我關(guān)于OpenCV怎么獲取圖片,怎么把OpenCV跟相機(jī)結(jié)合起來(lái)這一類的問(wèn)題。本人不才,不過(guò),在平時(shí)的工作中,都接觸到這方面,今天特意發(fā)文章給有些朋友們解惑一下。
???? 我們做視頻分析或者說(shuō)監(jiān)控行業(yè)用的相機(jī),一般來(lái)說(shuō),有兩種:(1)模擬相機(jī);(2)數(shù)字相機(jī);
???? 模擬相機(jī),輸出的是模擬信號(hào),也就是電壓的高低信號(hào)。這種相機(jī),現(xiàn)在用在很多的監(jiān)控場(chǎng)合,例如在銀行,當(dāng)你坐在柜臺(tái)前的時(shí)候,你的頭頂上一般會(huì)有一個(gè)相機(jī)對(duì)著你的,據(jù)筆者觀察,其中的大部分,目前都屬于模擬相機(jī);這種模擬相機(jī)的輸出一般可以通過(guò)AV信號(hào)線連接到電視上,也就是說(shuō),可以用一根信號(hào)線,把相機(jī)拍攝的圖片用電視機(jī)顯示出來(lái)。模擬相機(jī)還在馬路邊,小區(qū)門口的監(jiān)控室(一般都是用這種相機(jī))等場(chǎng)合見到。模擬相機(jī)得到的數(shù)據(jù),在進(jìn)入計(jì)算機(jī)進(jìn)行保存、顯示、處理之前,需要轉(zhuǎn)換為數(shù)字信號(hào)(PC只能處理離散的數(shù)字信號(hào))。所以,模擬相機(jī)在PC端,一般都有PCI接口的視頻轉(zhuǎn)接卡,這種視頻轉(zhuǎn)接卡,專業(yè)術(shù)語(yǔ)叫做“視頻采集卡”。例如,海康視頻采集卡;大華視頻采集卡;天敏視頻采集卡等,都屬于這一類; 通過(guò)它,模擬相機(jī)的模擬信號(hào)就轉(zhuǎn)換為數(shù)字信號(hào)。換句話說(shuō),就變成了JPG,BMP等格式的圖片,進(jìn)而就可以被PC來(lái)顯示、處理了。
???? 數(shù)字相機(jī),目前,常用的就只有RJ45接口和USB接口這兩種形式,也有個(gè)別相機(jī)采用1394接口的。RJ45接口,也就是我們上網(wǎng)用的網(wǎng)線接口,USB接口不用說(shuō),相信大家聊QQ都用過(guò)。數(shù)字相機(jī),可以直接生成JPG或者BMP格式的圖片。不過(guò),為了網(wǎng)絡(luò)傳輸?shù)目旖?#xff0c;一般都以MPEG或者h(yuǎn).264視頻流的格式進(jìn)行網(wǎng)絡(luò)傳輸。一般來(lái)說(shuō),采用RJ45接口數(shù)字相機(jī)進(jìn)行開發(fā)的時(shí)候,相機(jī)的出售方,會(huì)給你提供該相機(jī)的SDK,通過(guò)該SDK,你就可以獲取相機(jī)發(fā)給PC端的網(wǎng)絡(luò)數(shù)據(jù)包,通過(guò)解壓該數(shù)據(jù)包(在相機(jī)SDK都提供),那么,你就獲得了一幀一幀的JPG或者BMP格式的圖片。如果相機(jī)的SDK最終提供給你的是JPG格式,那么,你還需要在內(nèi)存里面把它解壓為BMP格式,然后,才能用Opencv的iplimage格式進(jìn)行處理。如果是BMP格式,直接賦值給IPLIMAGE就Ok了。另外,USB接口的數(shù)字相機(jī)(也就是我們平常聊QQ用的攝像頭),可以通過(guò)直接調(diào)用opencv的函數(shù)(其實(shí),內(nèi)部是調(diào)用了windows的VFW)來(lái)獲取iplimage格式的數(shù)據(jù),剩下的,就是采用opencv進(jìn)行處理了。。
???? 相機(jī)與PC的連接方式,可以簡(jiǎn)單的表述為下面的圖:
??? 總結(jié)一下,相機(jī)只是一個(gè)圖片數(shù)據(jù)獲取工具,獲取了圖片之后,需要把這些圖片“傳遞”給PC、DSP、ARM等處理終端,然后,在處理終端上,針對(duì)不同的需求,調(diào)用不同的OpenCV函數(shù)就能解決你的問(wèn)題了。。
總結(jié)
以上是生活随笔為你收集整理的OpenCV与相机的关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于main函数中argc和argv的简
- 下一篇: 利用Hog特征和SVM分类器进行行人检测