Halcon学习之超盒分类
来源:互联网 发布:局域网语音软件 编辑:程序博客网 时间:2024/05/19 16:03
void testHyperboxes(){ //创建一个新的分类器 HClassBox classBox; classBox.CreateClassBox(); //训练一个分类器 //参数说明: Features要学习的属性数组, Class指定属性数组被分配到的类 HTuple Features=HTuple(0).Append(1).Append(2); Hlong Class=0; classBox.LearnClassBox(Features, Class); Features = HTuple(1).Append(0).Append(2); Class = 1; classBox.LearnClassBox(Features, Class); Features = HTuple(1).Append(2).Append(0); Class = 2; classBox.LearnClassBox(Features, Class); //利用分类器分类一个属性数组 // FeatureList被分类的数组序列, Class数组序列最后被分到哪一类的返回值 HTuple FeatureList1 = HTuple(1).Append(0).Append(3); Hlong Class1; Class1 = classBox.EnquireClassBox(FeatureList1); cout << " [1,0,3] 被分到了类别: " << Class1 << endl<<endl; //分类器的序列化和反序列化 HSerializedItem item = classBox.SerializeClassBox(); HClassBox serialclassBox; serialclassBox.DeserializeClassBox(item); //分类器写入或读出文件 classBox.WriteClassBox("classBox.gbc"); HClassBox fileclassBox; fileclassBox.ReadClassBox("classBox.gbc"); //描述一个立方体分类器的类 //参数说明:Dimensions输出的最高维度值,ClassIdx类的索引值,BoxIdx方格索引值,BoxLowerBound方格较低边, //BoxHigherBound方格较高边,BoxNumSamplesTrain被用来定义方格的训练样本数,BoxNumSamplesWrong被分错到方格的训练样本数 Hlong Dimensions=3; HTuple ClassIdx, BoxIdx, BoxLowerBound, BoxHigherBound, BoxNumSamplesTrain, BoxNumSamplesWrong; ClassIdx=classBox.DescriptClassBox(Dimensions, &BoxIdx, &BoxLowerBound, &BoxHigherBound, &BoxNumSamplesTrain, &BoxNumSamplesWrong); for (int i = 0; i < ClassIdx.Length(); i++) { cout << "类别: " << i << " "<<endl; cout << "方格较低边: " << endl; for (int j = 3 * i; j < 3 * i + 3; j++) { cout << (double)BoxLowerBound[j] << " "; } cout << endl; cout << "方格较高边: " << endl; for (int h = 3 * i; h < 3 * i + 3; h++) { cout << (double)BoxHigherBound[h] << " "; } cout << endl; } //利用一个投影类分类一个数组 // FeatureList被分类的数组序列, Class数组序列最后被分到哪一类的返回值 HTuple FeatureList2 = HTuple(1).Append(0); Hlong Class2; Class2 = classBox.EnquireRejectClassBox(FeatureList2); cout << " [1,0,3] 被分到了类别: " << Class2 << endl << endl; //获得分类器中目前的参数 //参数说明: Flag指定系统参数的类型, Value对应参数类型的参数值 HString Flag = "used_memory"; HTuple Value; Value = classBox.GetClassBoxParam(Flag); cout << "使用的内存值: " << (double)Value << endl; //设置一个分类器的系统属性 //参数说明: Flag指定系统参数的类型, Value对应参数类型的参数值 HString Flag1 = "min_samples_for_split"; HTuple Value1=81; classBox.SetClassBoxParam(Flag1,Value1);}
0 0
- Halcon学习之超盒分类
- Halcon学习之K最近邻分类
- Halcon学习之赋值
- Halcon学习之计数
- halcon之学习----框架
- halcon学习之路
- Halcon学习之文本操作
- 学习Halcon半年之感想
- Halcon学习之边缘提取
- halcon学习之产品检测
- Halcon学习之2DMetrology
- HALCON学习之算子大全
- Halcon学习之图像采集
- Halcon学习之拟合圆
- HALCON学习之Features详解
- Halcon学习之coherence_enhancing_diff例程学习
- Halcon学习之分享之路
- halcon中的分类器之GMM算子全讲解
- 判断是否是二叉查找树
- 关于判断字符串是否相等的问题
- 搜狐2016笔试题
- 关于 char* 和 char[]的区别
- Windows 7 and Ubuntu install issues
- Halcon学习之超盒分类
- 金钱观
- 2016校招记
- Codevs p1014 装箱问题
- 配制nginx
- 二级指针的申请跟删除(基于C++的new机制)
- 让你彻底理解hashCode的作用
- lintcode-Segmemt Tree Build II-439
- Halcon学习之高斯混合模型