引言:
在进行CCV使用中发现,由于红外摄像头补光穿透不均匀,导致中间区域比较敏感,而周围一圈没法检测到手指动作,这时需要跳过周围一圈的点只使用中间的点进行校正,对25个点进行跟踪屏蔽处理,进行了屏蔽处理,并给没有校正的点赋默认值。
修改代码 CalibrationUtils.cpp 找到 nextCalibrationStep() ,revertCalibrationStep() 两个方法进行下面修改,检测跳过周围一圈的校对点,并给他们赋值
void CalibrationUtils::nextCalibrationStep()//跳到下一个矫正点{if(bCalibrating){calibrationStep++;int i = calibrationStep;while(true){//跳过屏蔽点if (i==0||i==1||i==2||i==3||i==4||i==5||i==9||i==10||i==14||i==15||i==19||i==20||i==21||i==22||i==23||i==24){calibrationStep++;i = calibrationStep;}else{break;}}if (calibrationStep >= GRID_POINTS) {bNextCamera = true;calibrationStep = 6;}}}void CalibrationUtils::revertCalibrationStep()//回复上一个矫正点{if(bCalibrating){calibrationStep--;int i = calibrationStep;while(true){//跳过屏蔽点if (i==0||i==1||i==2||i==3||i==4||i==5||i==9||i==10||i==14||i==15||i==19||i==20||i==21||i==22||i==23||i==24){calibrationStep--;i = calibrationStep;}else{break;}}if(calibrationStep < 0){calibrationStep = 0;}}}修改了点击直接进入校对模式
总结:
一个2010年的一个项目,代码比较老使用范围比较窄,但代码框架还是比较规范和完善的,已将 openvc Demo 用到了极致,后续跟进TUIO传输部分。
ccv1.5下载链接
http://ccv.nuigroup.com/#downloads
下载ccv1.5(改) jadfj版本
https://download.csdn.net/download/lijiefu123456/15076008