新买的笔记本试用3天,各个方面都很满意,速度,显卡也不错,尤其散热控制得相当好。
今天的主要任务是把Scale完成,摄像头pro3也准备就绪,所有的测试都很成功。
debug参数:
1 直接用-s model w-unscale.txt>w-data.txt,归一化结果输出正常,建立模式文件model,结果如下:
x
-1 1//归一化范围
5 0 0.032118 //5是向量标号,0 下限,后面的是上限。指标号5的归一化范围是0-0.032118,以下类似。
6 0 0.042969
7 0 0.042101
...
2 -r model w-unscale.txt>w-data.txt,新的向量文件用model文件归一化后的结果写入w-data.txt
若-r model w-unscale.txt参数则直接输出到屏幕。
目前要解决的问题是:
不用文件载入向量,而是直接指定,输出归一化的向量。
3 代码解析:
sscanf(p,"%lf",&target);//获得目标标号
output_target(target);//输出SKIP_TARGET//跳过空格
while(sscanf(p,"%d:%lf",&index,&value)==2)//获得标号和对应数值
4 核心代码:
void output(int index, double value),这个地方问题不大,只要向量输入正确就好了,
如何模拟readline(FILE *input)
获得的数据放在char* line中,只要将line放入规格化后的数据就可以了。
5 想复杂了,其实很简单
//while(sscanf(p,"%d:%lf",&index,&value)==2)
//模拟输入向量数组代替index和value,用for循环
{
...
6 开始RCV项目连调
目标:在程序中动态获得特征向量,归一化后向量根据模式文件进行识别。
7 获得特征向量
GetSvmFeature : GetFeature : CDib
GetSvmFeature的对象有方法 gsf.SetImgArray( pGrayImg );
其中gsf.SetImgArray获得二化图像数据,保存在width*height大小的数组中,对此数组分块5*5求其特征,采用非零点个数和/区域面积的方法获得。所有特征保存在FeatureVector[25]中,这个向量就是未归一化的向量。
RCV.Dlg出现栈崩溃,原因未知,用老版本替代解决。
问题解决,归一化模块完成,USB的采集卡效果很一般。