因为最终分类可视化的要求,所以要把分类后的区域以跟样本区域相同的颜色去填充,这样就可以直观地得到分类效果图。
主要思想:
1.输出区域ID及其特征(颜色、纹理、形状等);
2.人机交互选择样本,为了方便起见,X个地物均选择Y个样本,总共是X*Y个样本容量;
3.建立分类器对所有区域进行类别标定。
4.提取区域region_ID和类别号class_ID,并保存成class_result.txt文件格式(在这里选择了“region_ID class_ID”的保存格式)
5.读取class_result.txt,目的:映射回原图像区域进行填充。
在这里写了一个函数:
std::ifstream class_file("class_result1.txt",ios::in ); if (!class_file.is_open()) std::cout << "Unable to open file"; int m,n; while(class_file) { class_file >> m ; class_file >> n; pDoc->classify_region(m,n); }
而这个classify_region(int cur_region,int claas_number)函数的作用就是根据区域ID和类别ID进行不同颜色的填充:
而且对上述函数进行测试,选择了10个区域,分成5类,测试结果表示很成功: