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
);
[ ]