版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、機(jī)器人視覺程序開發(fā)鄭睿2007.11.21目錄大恒圖像采集卡簡介圖像采集卡設(shè)置采集圖像到內(nèi)存OpenCV介紹例程大恒圖像采集卡簡介PCI圖像采集卡型號(hào):QP300參數(shù):1.制式:PAL,NTSC2.最高分辨率:PAL: 76857632BITNTSC:64048032BIT3.數(shù)據(jù)格式:RGB8888,RGB888,RGB565,RGB555及256色模式大恒圖像采集卡簡介4.亮度、對比度、色調(diào)、色飽和度可調(diào)5.支持裁剪與比例壓縮模式Tips: 由于用PCI插槽方式連接,機(jī)器人在受到猛烈撞擊后可能會(huì)松動(dòng),出現(xiàn)驅(qū)動(dòng)找不到無法采集圖像的情況,解決方法是拔出重啟重新插一次再重啟。 圖像采集卡設(shè)置頭文
2、件:CGDef.h, CGVideo.h, CGVidEx.h,函數(shù)庫:CGVideo.lib, CGVidEx.libBeginCGCard(int nDevice,HCG *pHandle) 開始指定圖像卡操作,初始化圖像卡,獲得其設(shè)備句柄,分配相應(yīng)的資源。EndCGCard(HCG hcg) 結(jié)束指定圖像卡操作,釋放其設(shè)備句柄和資源,調(diào)用函數(shù)前,必須停止圖像卡工作。圖像采集卡設(shè)置CGSetInputWindow(HCG hcg,int nStartX,int nStartY,int nWidth,int nHeight) 各參數(shù)含義如圖所示,需要注意的是nStartX數(shù)值應(yīng)為4 的倍數(shù),
3、nStartY數(shù)值應(yīng)為2 的倍數(shù) 在PAL制下通常設(shè)置為:nStartX=0;nStartY=0;nWidth=768(= widthmax );nHeight=576(= heightmax );widthmaxheightmaxnWidthnHeight(nStartX,nStartY)圖像采集卡設(shè)置CGSetOutputWindow(HCG hcg, int nStartX,int nStartY,int nWidth,int nHeight) 設(shè)置圖像顯示輸出(Output)窗口,采集圖像到內(nèi)存時(shí)(編寫圖像處理程序必須把圖像采集到內(nèi)存處理), nStartX,nStartY參數(shù)忽略,設(shè)
4、置為0,0。輸出窗口大小只能等于或小于輸入窗口的大小,如圖所示,通常輸出窗口比輸入窗口小,但維持nWidth : nHeight =4:3,輸出窗口的大小視需要的處理速度而定,顯然小圖像處理更快。輸入窗口(768*576)輸出窗口(320*240)圖像采集卡設(shè)置CGSetVideoStandard(HCG hcg,VIDEO_STANDARD mode) 設(shè)置圖像卡視頻信號(hào)制式,包括PAL 制和NTSC 制,根據(jù)攝像機(jī)的制式。一般國內(nèi)攝像機(jī)都是PAL制(25幀/秒)CGSetVideoSource(HCG hcg,VIDEO_SOURCE source) 視頻信號(hào)的源路參數(shù),對于機(jī)器人當(dāng)前的硬
5、件連接,必須設(shè)置為復(fù)合端子2作為視頻輸入源:source.type = COMPOSITE_VIDEO;source.nIndex = 1;CGAdjustVideo(HCG hcg,VIDEO_ADJUST_PARAM param,BYTE byVal) 設(shè)置圖像卡的圖像顯示調(diào)節(jié)參數(shù),包括亮度、對比度、色調(diào)、色飽和度。參數(shù)的初始值都為:128。 例:CGAdjustVideo(hCard1,BRIGHTNESS,120)圖像采集卡設(shè)置CGSetVideoFormat(HCG hcg,VIDEO_FORMAT format) 設(shè)置圖像卡輸出的圖像數(shù)據(jù)格式,包括RGB888,RGB565,RGB
6、555等。我們通常設(shè)置其為RGB888,即24位真彩色,每個(gè)像素占三個(gè)字節(jié)。CGSetScanMode(HCG hcg,VIDEO_SCAN mode) 設(shè)置視頻信號(hào)的掃描方式,幀或場方式。幀方式下可以達(dá)到設(shè)置的圖像大小,場方式下實(shí)際圖像的高度為設(shè)置大小 的1/2,用CGSetOutputWindow設(shè)置窗口時(shí)其高度應(yīng)設(shè)置 為期望值的二倍。場方式的優(yōu)點(diǎn)在于拉絲現(xiàn)象不明顯。圖像采集卡設(shè)置 拉絲現(xiàn)象如下圖所示,可以看出邊緣的模糊情況圖像采集卡設(shè)置CGSelectCryOSC( HCG hcg ,CRY_OSC mode) 選擇圖像卡配置的晶振類型。QP300 采用了28M 晶振,如果采集圖像出現(xiàn)類
7、似于電視機(jī)信號(hào)不強(qiáng)時(shí)的條紋狀雪花現(xiàn)象時(shí),可能就是該參數(shù)設(shè)置有誤。 Tips: 這些設(shè)置采集卡函數(shù)中有的變量類型名字非常長,比如VIDEO_STANDARD、CRY_OSC等,這些變量在CGDef.h中都是以eum類型定義的,其取值均為自解釋的,非常 容易理解,例如CRY_OSC有兩個(gè)值CRY_OSC_35M ,CRY_OSC_28M分別代表將晶振頻率設(shè)置為35M和28M。采集圖像到內(nèi)存圖像采集到內(nèi)存示意圖數(shù)據(jù)區(qū)1靜態(tài)內(nèi)存數(shù)據(jù)區(qū)2采集圖像到內(nèi)存CGStartSnap(HCG hcg,DWORDdwMemOffset,BOOL bInterline,WORD wSum) dwMemOffset:
8、內(nèi)存偏移量,以字節(jié)為單位,相對于所申請到的靜態(tài)內(nèi)存起始地址,多路采集時(shí)需要分別為每路 采集卡分別設(shè)置起始地址。 bInterline:圖像數(shù)據(jù)的存放方式,在視頻信號(hào)掃描方式為幀方式時(shí)有效,TRUE 隔行存放,F(xiàn)ALSE 奇偶場逐行存放。 wSum: 循環(huán)采集圖像的數(shù)量。在視頻信號(hào)掃描方式為幀方式時(shí),以幀為單位,場方式時(shí),以場為單位,取值 2,一般取2。CGStopSnap(HCG hcg) 停止圖像卡采集圖像數(shù)據(jù)到內(nèi)存,應(yīng)在程序退出前用此函數(shù)使圖像卡停止工作再調(diào)用EndCGCard(HCG hcg)釋放采集卡占用硬件資源。采集圖像到內(nèi)存CGStaticMemLock(DWORD dwOffse
9、t,DWORD dwLength,HANDLE *pHandle,PVOID *ppLineAddr) dwOffset:內(nèi)存偏移量,以字節(jié)為單位,相對于所申請到的靜態(tài)內(nèi)存起始地址。 dwLength:內(nèi)存鎖定的長度,以字節(jié)為單位。 pHandle:指向被鎖定內(nèi)存的句柄。 ppLineAddr:指向被鎖定內(nèi)存的指針。CGStaticMemUnlock(HANDLE handle) handle:被鎖定內(nèi)存的句柄 該函數(shù)與CGStaticMemLock配對使用,在圖像傳輸完成后,解除對靜態(tài)內(nèi)存的鎖定。采集圖像到內(nèi)存CGGetSnappingNumber(HCG hcg,int *pNumber)
10、 pNumber:指向當(dāng)前圖像的采集狀態(tài)字。 這個(gè)函數(shù)用于獲取當(dāng)前采集圖像的狀態(tài),這個(gè)采集狀態(tài)是指執(zhí)行函數(shù)CGStartSnap 后,圖像卡當(dāng)前正在向內(nèi)存采集那一場圖像。無論視頻信號(hào)掃描方式是幀方式還是場方式,狀態(tài)字的值都以場為單位,從0 開始。例如CGStartSnap 在幀方式下采集10 幀圖像,狀態(tài)字的值為第0 至 19 場;在場方式下采集10 場圖像,狀態(tài)字的值為第0 至 9 場。采集狀態(tài)字的讀取,必須在函數(shù)CGStartSnap 執(zhí)行后。采集圖像到內(nèi)存CGDataTransform(BYTE *pDestBuf,BYTE *pSrcBuf,int nWidth,int nHeight
11、,int nBitCount,BOOL bVerFlip) pDestBuf:指向目標(biāo)緩沖區(qū)。 pSrcBuf:指向源緩沖區(qū),在調(diào)用CGStaticMemLock后其參數(shù)ppLineAddr 可以作為pSrcBuf參數(shù)用于指定靜態(tài)內(nèi)存中的源緩沖起始地址。 nWidth和nHeight :圖像寬度、高度。 nBitCount:圖像數(shù)據(jù)格式(位數(shù)/像素)。 bVerFilp:圖像沿垂直方向翻轉(zhuǎn),TRUE 翻轉(zhuǎn),F(xiàn)ALSE 正常。 將源緩沖區(qū)的圖像數(shù)據(jù)傳遞到目標(biāo)緩沖區(qū)中,同時(shí)進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。數(shù)據(jù)在緩沖區(qū)中按先行后列的順序存放,目標(biāo)緩沖區(qū)的數(shù)據(jù)格式為8 位灰度圖像,每個(gè)像素對應(yīng)其灰度值;或24 位彩
12、色圖像,每個(gè)像素有三個(gè)顏色值紅、綠、藍(lán)各8位。如果源緩沖區(qū)的數(shù)據(jù)格式與目標(biāo)緩沖區(qū)不一致,則要進(jìn)行轉(zhuǎn)換。數(shù)據(jù)格式應(yīng)是8 位灰度圖像或紅綠藍(lán)的彩色圖像。 例:CGDataTransform(pDestBuffer,SourceBuffer,768,576,24,TRUE);采集圖像到內(nèi)存其它細(xì)節(jié)請參考大恒的DH-CG300軟件開發(fā)說明書ImageManager類(作者鄒偉)使用大恒的提供的API函數(shù)庫有很多用不到的功能,而且它的API是幾種圖像采集卡共用的,因此使用起來不方便。ImageManager類是對大恒提供的API函數(shù)庫進(jìn)行的封裝。功能和大恒的功能類似,其成員函數(shù)和大恒提供的API有大致的
13、對應(yīng)關(guān)系。但針對四路圖像設(shè)計(jì),函數(shù)的說明見注釋。使用時(shí)需要大恒的頭文件和函數(shù)庫 OpenCV介紹OpenCV 是英特爾開發(fā)的開源計(jì)算機(jī)視覺庫。它由一系列C函數(shù)和少量C+類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。OpenCV 是由跨平臺(tái)(同時(shí)支持MS-WINDOWS、LINUX平臺(tái))的中、高層 API 構(gòu)成,目前包括 300 多個(gè)C函數(shù)。它不依賴于其它的外部庫,盡管也可以使用某些外部庫。OpenCV 對非商業(yè)用途和商業(yè)用途都是免費(fèi)的。OpenCV介紹常用鏈接: 源代碼及文檔下載:/projects/opencvlibrary/中文論壇:/forum/index.php 自動(dòng)化所自由軟
14、件協(xié)會(huì)曾進(jìn)行過OpenCV中文文檔的維護(hù)工作,現(xiàn)在該文檔的維護(hù)放在了Wiki上。OpenCV介紹OpenCV的使用手冊分四部分: CXCORE Reference Manual:OpenCV中的基本結(jié)構(gòu)、對數(shù)組操作的函數(shù)、動(dòng)態(tài)結(jié)構(gòu)、繪圖函數(shù)等;CV Reference Manual:圖像處理相關(guān)的函數(shù)如sobel算子、laplace算子、canny算子、形態(tài)學(xué)算子(開運(yùn)算、閉運(yùn)算等)、金字塔分割等,在數(shù)字圖像處理教材中提到的算法基本上都有實(shí)現(xiàn);除此以外,還提供了模式識(shí)別、運(yùn)動(dòng)估計(jì)、物體跟蹤、攝像機(jī)標(biāo)定以及三維重建的一些常用算法的實(shí)現(xiàn); OpenCV介紹HighGUI Reference Man
15、ual:提供了簡潔的讀入保存圖像數(shù)據(jù)(支持常見的各種圖像格式)和圖像顯示功能,以及簡單的交互功能; CVCAM Reference Manual:與視頻流相關(guān)的操作,由于機(jī)器人使用了圖像采集卡,這些函數(shù)較少使用。 因?yàn)閿?shù)字圖像處理文獻(xiàn)中提到的算法在OpenCV中大部分都有實(shí)現(xiàn),因此建議在使用機(jī)器人視覺方面的算法時(shí)首先在OpenCV中查找是否有該算法的實(shí)現(xiàn)或相近實(shí)現(xiàn)。OpenCV介紹OpenCV 1.0 is available! The major changes since beta5 are: * improved stability * new Machine learning modu
16、le (ml) * new smart blob tracking engine (a vs part of cvaux) * basic MacOS X support (builds from source) * improved Win64 support * IPP 5.1 support * improved Python interfaceChanges since 1.0rc1:* Python interface is now compatible with Python 2.3, 2.4 and 2.5* Numerous bug fixes例程1、Grab開發(fā)環(huán)境: Windows+Visual C+6.0實(shí)現(xiàn): 圖像采集API功能: 利用圖像采集卡采集圖像并顯示(幀方式),點(diǎn)擊保存時(shí)可以將當(dāng)前圖像保存為bmp文件并計(jì)數(shù),保存位置為和可執(zhí)行文件同目錄下的data文件夾,命名從000開始,最多可以保存1000幅圖像(繼續(xù)保存會(huì)將前面的圖像覆蓋)。例程程序演示例程2、newapp開發(fā)環(huán)境: Windows+Visual C+6.0實(shí)現(xiàn): 圖像采集API+OpenCV_b4a功能: 標(biāo)定顏色空間,然后利用標(biāo)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)魚技巧與知識(shí)培訓(xùn)課件
- 2025年度海洋動(dòng)物運(yùn)輸與供應(yīng)鏈管理合同3篇
- 綠森鋼化中空玻璃遷擴(kuò)建項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)拿地
- 全國清華版信息技術(shù)小學(xué)四年級(jí)下冊新授課 第4課 獨(dú)特景觀-在幻燈片中插入文本框 說課稿
- Unit7 Grammar Focus 說課稿 2024-2025學(xué)年人教版英語七年級(jí)上冊
- 貴州省安順市(2024年-2025年小學(xué)六年級(jí)語文)統(tǒng)編版競賽題(下學(xué)期)試卷及答案
- 安徽省合肥市新站區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末化學(xué)試卷(含答案)
- 二零二五年度周轉(zhuǎn)材料租賃與施工現(xiàn)場安全生產(chǎn)合同3篇
- 陜西省商洛市(2024年-2025年小學(xué)六年級(jí)語文)部編版小升初真題(上學(xué)期)試卷及答案
- 貴州黔南經(jīng)濟(jì)學(xué)院《手繪表現(xiàn)技法景觀》2023-2024學(xué)年第一學(xué)期期末試卷
- 事業(yè)單位公開招聘工作人員政審表
- GB/T 35199-2017土方機(jī)械輪胎式裝載機(jī)技術(shù)條件
- GB/T 28591-2012風(fēng)力等級(jí)
- 思博安根測儀熱凝牙膠尖-說明書
- 信息學(xué)奧賽-計(jì)算機(jī)基礎(chǔ)知識(shí)(完整版)資料
- 數(shù)字信號(hào)處理(課件)
- 出院小結(jié)模板
- HITACHI (日立)存儲(chǔ)操作說明書
- (新版教材)蘇教版二年級(jí)下冊科學(xué)全冊教案(教學(xué)設(shè)計(jì))
- 61850基礎(chǔ)技術(shù)介紹0001
- 電鏡基本知識(shí)培訓(xùn)
評(píng)論
0/150
提交評(píng)論