新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于1394總線的工業相機圖像采集程序設計

        基于1394總線的工業相機圖像采集程序設計

        作者: 時間:2009-12-16 來源:網絡 收藏

        首先,定義類CDib,并在CPictureTestDoc.h中定義共有變量:
        CDibm_dib;//CDib類對象,用于位圖文件的讀寫
        然后,在CPictureTestDoc.cpp文件中添加功能函數:PictureRead(),在其中加入代碼:
        CStringstrPathName;
        strPathName=_T(TestPicture.bmp);
        if(m_dib.Read(strPathName)==TRUE)

        SetModifiedFlag(FALSE);//startoffwithunmodified
        return;

        并在CPictureTestView.cpp文件中的OnDraw(CDC*pDC)函數中,加入如下代碼:
        CPictureTestDoc*pDoc=GetDocument();
        CDib*pDib=pDoc->GetPDib();//返回m_dib的指針
        CSizesizeFileDib=pDib->GetDimensions();//獲取DIB的尺寸
        pDib->Draw(pDC,CPoint(0,0),sizeFileDib);//顯示DIB
        在OnInitialUpdate()函數中設置滾動窗口:
        CDib*pDib=pDoc->GetPDib();//獲取DIB的指針
        if(pDib!=NULL)
        SetScrollSizes(MM_TEXT,pDib->GetDimensions());//根據DIB尺寸設置視窗大小
        最后,添加命令菜單,其響應函數為:
        voidCPictureTestView::OnTestStart()

          CPictureTestDoc*pDoc=GetDocument();
          pDoc->;pictureGrab();//抓圖
          pDoc->;pictureRead();//把讀入內存
          OnInitialUpdate();//設置滾動窗口

        編譯通過后,單擊命令,即可實時獲取圖像。

        圖1圖像實例
        Fig.1Theexampleofimageacquisition

        2.4設置
        在圖像采集時,我們往往需要對的參數如圖像格式、分辨率、幀頻等進行設定,同時,為了獲取高品質圖像,我們還需要做白平衡調節。當然,這些參數的設定我們可以在初始化時由代碼實現,但是,在實際應用中,為了達到最佳效果,我們需要多次調試才能達成,如果采用修改代碼的方法,調試過程會很麻煩。數碼相機一般都有設置菜單,我們要做的就是,通過代碼來調用相機的設置菜單,設置好參數后,參數會自動保存并加載。這樣,調試的時候會方便很多。創建相機設置菜單命令,其響應函數如下:
        voidCPictureTestDoc::OnTestCameraset()

        pgrcamguiToggleSettingsWindowState(
        m_guicontext,AfxGetApp()->m_pMainWnd->GetSafeHwnd());//相機設置對話框


        圖2相機參數設置界面
        Fig.2Fig.4.2Interfaceforsettingtheparameterofthecamera

        3結論
        本文實現的圖像采集系統可通過1394接口對數碼機進行格式/模式/幀率的設置,光學參數的設定,采集畫面的實時顯示,而且能夠對攝像機進行自動控制,系統穩定可靠,利用它可以完成一些復雜項目中的實時連續的圖像采集過程,如高速公路車輛和車牌的自動識別管理系統、生產中的產品外包裝檢測系統等,具有很大的實用性.

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 甘洛县| 新和县| 徐水县| 榆林市| 鄂州市| 平昌县| 前郭尔| 兰考县| 萨迦县| 安康市| 龙游县| 临沭县| 贵定县| 陕西省| 哈密市| 米林县| 满城县| 高雄市| 台东市| 定日县| 衡阳市| 镶黄旗| 曲阳县| 榆中县| 文登市| 黑龙江省| 光山县| 娄烦县| 轮台县| 建德市| 成安县| 民县| 盐山县| 永春县| 丽江市| 斗六市| 丰城市| 绩溪县| 孝感市| 新乡市| 中山市|