激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月

基于WinCE的視頻采集應用方案

 2009-3-11              

        嵌入式系統是一種以應用為中心,以計算機技術為基礎,其軟硬件可配置、可裁減,對功能、可靠性、成本、體積、功耗有嚴格約束的專用計算機系統。它結合了先進的計算機技術、半導體技術、電子技術以及各個行業的具體應用,被看作技術密集、不斷創新的知識集成系統。近幾年來以軟硬件相結合為顯著特征、以消費電子類為主導的智能設備以超乎人們想象的速度獲得了前所未有的發展,與此同時,在工控領域也得到快速發展,在這個過程中,微軟公司也是首當其沖,其推出的Microsoft Windows CE是一個開放的、可裁減的、32位的實時操作系統和其他桌面版窗口操作系統相比,具有可靠性好、實時性高、內核體積小的特點,所以被廣泛用于各種嵌入式智能設備的開發,如工業控制、信息家電、移動通信、個人電子消費品等各個領域,是當今應用最多、增長最快的嵌入式操作系統。

 

        EM9000 ARM嵌入式主板采用高端的ARM9芯片EP9315,特別針對工控系統中TFT彩色顯示智能終端的應用需求進行了精心的優化設計(同時支持觸摸屏)。作為一款已加載了WinCE工控主板,EM9000嵌入式主板可以支持客戶在其上采用通用的微軟開發工具,如eVC、VS2005,直接進行應用程序的開發,從而以更快的速度把產品推向市場。另一方面,EM9000嵌入式主板的所有通訊接口均配置了標準的WinCE驅動程序,客戶在應用程序開發中并不需要了解EM9000嵌入式主板內部的詳細技術情況,而直接調用WinCE的標準API函數,就可高效快速的操作EM9000的各個通訊接口,有效降低了客戶進行嵌入式系統產品開發的門檻和風險。同時,EM9000作為一款EP9315開發板,內置了協處理器,可以進行復雜的浮點運算,可以運用在需要進行高速復雜運算的特殊場合。

 

        攝像頭(CAMERA)又稱為電腦相機、電腦眼等,它作為一種視頻輸入設備,被廣泛的運用于個人電腦視頻和實時監控等方面。然而,作為嵌入式的WinCE操作系統卻因為缺少攝像頭的驅動而不能采用這種視頻采集方案。為了更好的服務英創的客戶,經過公司團隊的努力,解決了這個難題,可以為貴公司提供低成本的攝像頭解決方案。

 

        我們為攝像頭訂制了專門的API函數,提供了使用例程。你可以參照英創提供的例程,迅速編寫出適合自己領域的產品。

 

        如果有需求,可以來電垂詢,我們將根據你的需求,提供最佳的解決方案。

 

        表中列出了攝像頭的主要API函數。根據這些API函數就可以很方便的完成視頻采集程序設計。下面列出了主要的API函數和參數說明。

 

        // Name : capInitCamera

        // Initialize driver and get current available cameras number.

        // Return : The number, of the available cameras, indicates success.

        int capInitCamera(void);

 

        // Name : capGetCurrentVersion

        // Get the current driver version information.

        // Return : The length, in characters, of the copied string,

        // not including the terminating null character, indicates success.

        int capGetCurrentVersion(

                int index, // [IN] Camera index, 0 - first

                insigned char *pBufOut, // [OUT] Long pointer to the buffer that will receive the text

                int lenOut, // [IN] Specifies the maximum number of characters to copy to the buffer, including the NULL character.

                // If the text exceeds this limit, it is truncated.

        );

 

        // Name : capGetVideoFormat

        // Get the current video format.

        // Return : Zero indicates success.

        int capGetVideoFormat(

                int index, // [IN] Camera index

                int *pFormat, // [OUT] Long pointer to the buffer that will receive the video format, VIDEO_PALETTE_RGB565 - VIDEO_PALETTE_JPEG

                int *pSizeMode, // [OUT] Long pointer to the buffer that will receive the size mode, VIDEO_SIZE_VGA - VIDEO_SIZE_SIF

        );

 

        // Name : capSetVideoFormat

        // Set video format.

        // Return : Zero indicates success.

        int capSetVideoFormat(

                int index, // [IN] Camera index

                int format, // [IN] Video format, VIDEO_PALETTE_RGB565 - VIDEO_PALETTE_JPEG

                int sizeMode, // [IN] Size mode, VIDEO_SIZE_VGA - VIDEO_SIZE_SIF

        );

 

        // Name : capGrabFrame

        // Grab a frame from driver.

        // Return : The length, in bytes, of the copied video frame data, indicates success.

        int capGrabFrame(

                int index, // [IN] Camera index

                unsigned char *pFrameBuf, // [OUT] Long pointer to the buffer that will receive the video frame

                unsigned int bufferLen, // [IN] Specifies the maximum number of bytes to copy to the buffer

        );

 

        // Name : capGetLastJpeg

        // Get a last JPEG frame from driver.

        // Return : The length, in bytes, of the copied JPEG frame data, indicates success.

        int capGetLastJpeg(

                int index, // [IN] Camera index

                unsigned char *pFrameBuf, // [OUT] Long pointer to the buffer that will receive the video frame

                unsigned int bufferLen, // [IN] Specifies the maximum number of bytes to copy to the buffer

        );

 

        // Name : capStartCamera

        // Start camera to capture video.

        // Return : Zero indicates success.

        int capStartCamera(

                int index, // [IN] Camera index

        );

 

        // Name : capStopCamera

        // Stop camera to capture video.

        // Return : Zero indicates success.

        int capStopCamera(

                int index, // [IN] Camera index

        );

 

        // Name : capCloseCamera

        // Close all available camera.

        // Return : Void.

        void capCloseCamera(void);

 

        // Name : capGetPciture

        // Get a last bitmap and jpeg from driver

        // Return : Zero indicates success.

        int capGetPicture(

                int index, // [IN] Camera index

                unsigned char *pFrameBuf, // [OUT] Long pointer to the buffer that will receive the video frame

                unsigned int bufferLen, // [IN] Size, in bytes, of the buffer pointed to by pFrameBuf

                unsigned char *pJpgBuf, // [OUT] Long pointer to the buffer that will receive the jpeg picture

                unsigned int jpgLen, // [IN] Size, in bytes, of the buffer pointed to by pJpgBuf

                PDWORD pdwActualOut, // [OUT] Pointer to an array of the return lengths

        );

主站蜘蛛池模板: 国产成人不卡亚洲精品91| 国产在线精品一区二区三区| 一级视频网站| 老妇女人一级毛片| 免费一级a毛片在线播放视| 国产一级做a爱片久久毛片a| 美国人妖欧美性xxxxk妖| 日本无吗中文字幕免费婷婷| 综合aⅴ| 一级做a爰片久久毛片16| 日韩免费高清视频| 亚洲成a人片在线网站| 成年女人色费视频免费| 一本本久综合久久爱| 久久精品综合一区二区三区| 亚洲高清heyzo加勒比| 免费国外性视频网站| 国产2区| 国产在线一区二区| 国产福利在线观看永久免费| 特级毛片aaaa免费观看| 精品日韩在线视频| 草草草视频在线观看| 国产日韩欧美精品| 精品国产美女福到在线不卡f| 欧美日本一道道一区二区三| 天天影视色香欲综合网老头 | 99久久一区| 三级网战| 久久久久久久亚洲精品一区| 日韩毛片欧美一级a网站| 毛片在线视频在线播放| 亚洲黄色影院| 在线不卡视频| 亚洲爆乳无码一区二区三区| 色亚洲影院| 成年人免费观看网站| 成人性色生活片全黄| 成人两性高清图片视频| 成本人h片3d动漫网站在线看| 我要看黄色特级黄色录像|