基于1394總線的工業(yè)相機(jī)圖像采集程序設(shè)計(jì)
首先,定義類CDib,并在CPictureTestDoc.h中定義共有變量:
CDibm_dib;//CDib類對(duì)象,用于位圖文件的讀寫
然后,在CPictureTestDoc.cpp文件中添加功能函數(shù):PictureRead(),在其中加入代碼:
CStringstrPathName;
strPathName=_T(TestPicture.bmp);
if(m_dib.Read(strPathName)==TRUE)
{
SetModifiedFlag(FALSE);//startoffwithunmodified
return;
}
并在CPictureTestView.cpp文件中的OnDraw(CDC*pDC)函數(shù)中,加入如下代碼:
CPictureTestDoc*pDoc=GetDocument();
CDib*pDib=pDoc->GetPDib();//返回m_dib的指針
CSizesizeFileDib=pDib->GetDimensions();//獲取DIB的尺寸
pDib->Draw(pDC,CPoint(0,0),sizeFileDib);//顯示DIB
在OnInitialUpdate()函數(shù)中設(shè)置滾動(dòng)窗口:
CDib*pDib=pDoc->GetPDib();//獲取DIB的指針
if(pDib!=NULL)
SetScrollSizes(MM_TEXT,pDib->GetDimensions());//根據(jù)DIB尺寸設(shè)置視窗大小
最后,添加圖像采集命令菜單,其響應(yīng)函數(shù)為:
voidCPictureTestView::OnTestStart()
{
CPictureTestDoc*pDoc=GetDocument();
pDoc->;pictureGrab();//抓圖
pDoc->;pictureRead();//把圖像讀入內(nèi)存
OnInitialUpdate();//設(shè)置滾動(dòng)窗口
}
編譯通過(guò)后,單擊圖像采集命令,即可實(shí)時(shí)獲取圖像。
圖1圖像采集實(shí)例
Fig.1Theexampleofimageacquisition
Fig.1Theexampleofimageacquisition
2.4相機(jī)設(shè)置
在圖像采集時(shí),我們往往需要對(duì)相機(jī)的參數(shù)如圖像格式、分辨率、幀頻等進(jìn)行設(shè)定,同時(shí),為了獲取高品質(zhì)圖像,我們還需要做白平衡調(diào)節(jié)。當(dāng)然,這些參數(shù)的設(shè)定我們可以在相機(jī)初始化時(shí)由代碼實(shí)現(xiàn),但是,在實(shí)際應(yīng)用中,為了達(dá)到最佳效果,我們需要多次調(diào)試才能達(dá)成,如果采用修改代碼的方法,調(diào)試過(guò)程會(huì)很麻煩。數(shù)碼相機(jī)一般都有設(shè)置菜單,我們要做的就是,通過(guò)代碼來(lái)調(diào)用相機(jī)的設(shè)置菜單,設(shè)置好參數(shù)后,參數(shù)會(huì)自動(dòng)保存并加載。這樣,調(diào)試的時(shí)候會(huì)方便很多。創(chuàng)建相機(jī)設(shè)置菜單命令,其響應(yīng)函數(shù)如下:
voidCPictureTestDoc::OnTestCameraset()
{
pgrcamguiToggleSettingsWindowState(
m_guicontext,AfxGetApp()->m_pMainWnd->GetSafeHwnd());//相機(jī)設(shè)置對(duì)話框
}
圖2相機(jī)參數(shù)設(shè)置界面
Fig.2Fig.4.2Interfaceforsettingtheparameterofthecamera
Fig.2Fig.4.2Interfaceforsettingtheparameterofthecamera
3結(jié)論
本文實(shí)現(xiàn)的圖像采集系統(tǒng)可通過(guò)1394接口對(duì)數(shù)碼機(jī)進(jìn)行格式/模式/幀率的設(shè)置,光學(xué)參數(shù)的設(shè)定,采集畫面的實(shí)時(shí)顯示,而且能夠?qū)z像機(jī)進(jìn)行自動(dòng)控制,系統(tǒng)穩(wěn)定可靠,利用它可以完成一些復(fù)雜項(xiàng)目中的實(shí)時(shí)連續(xù)的圖像采集過(guò)程,如高速公路車輛和車牌的自動(dòng)識(shí)別管理系統(tǒng)、工業(yè)生產(chǎn)中的產(chǎn)品外包裝檢測(cè)系統(tǒng)等,具有很大的實(shí)用性.
評(píng)論