请问一下,图像采集卡的初始化主要完成哪些功能?
Thanks!
你看看下面的程序就知道了,是在C++ Builder下初始化大恒的DH-CG300卡。我觉得最好的办法是:要知道猪肉的味道就先买二斤回家炖了吃。
/**********************************************************/
//打开图像卡
status = BeginCGCard(1, &hCGCard);
if ( ! CG_SUCCESS(status)){
ShowMessage("CGCard Init Failed!");
}
//颜色空间类型,按照当前Windows显示属性设置
ColorSpace = ALL8BIT;
CG_VERIFY(CGSetVideoFormat(hCGCard, ColorSpace));
//设置输入视频的制式PAL
VideoStandard=PAL;
CG_VERIFY(CGSetVideoStandard(hCGCard, VideoStandard));
//采集模式,帧方式
DispMode = FRAME;
CG_VERIFY(CGSetScanMode(hCGCard, DispMode));
//源路为复合视频一
Source.type = COMPOSITE_VIDEO;
Source.nIndex = 0;
CG_VERIFY(CGSetVideoSource(hCGCard, Source));
//晶振, 默认为35M
CryOsc = CRY_OSC_35M;
CG_VERIFY(CGSelectCryOSC(hCGCard, CryOsc));
//亮度,默认是128
byBrightness = 128;
CG_VERIFY(CGAdjustVideo(hCGCard, BRIGHTNESS, byBrightness));
//对比度,默认是128
byContrast = 128;
CG_VERIFY(CGAdjustVideo(hCGCard, CONTRAST, byContrast));
//色调,默认是128
byHue = 128;
CG_VERIFY(CGAdjustVideo(hCGCard, HUE, byHue));
//包含度,默认是128
bySaturation = 128;
CG_VERIFY(CGAdjustVideo(hCGCard, SATURATION, bySaturation));
//设置输入视频窗口大小
CG_VERIFY(CGSetInputWindow(hCGCard, 0, 0, WIDTH,HEIGHT));
//设置输出图像大小
CG_VERIFY(CGSetOutputWindow(hCGCard, 0, 0, WIDTH,HEIGHT));
//使用静态内存保存图象,先访问其大小,如果访问失败则退出操作
if (CGGetStaticMem(&BlockSize) != CG_OK ){
ShowMessage("Error in StaticMem Access!");
return;
}
//灰度图像
// BufLength = WIDTH *HEIGHT;
//锁定全部保留静态内存给图像卡使用
CG_VERIFY(CGStaticMemLock(0, BlockSize*4096, &MemHandle, (void **)&LineAddr));
/*************************************************************************/