这一部分紧张展示一个分类的例子,基于所选的形状特色来分类金属件。
Step1: 创建分类器
首先,一个分类器被创建。这里,我们想运用MLP分类器,以是类型为MLP的一个分类器用create_class_mlp创建。返回的句柄将被下面所有分类步骤所须要。
Step2: 添加演习样本到分类器
然后,演习图像,例如包含已知种别物体的图像,被研究。每一张图像中包含数个属于同一类别的金属件。对付特定图像的类的索引被存储在元组Classes中。在这个案例中,9张图像是可行的(见下图)。在前3张图像的物体属于种别0, 接下来3张图像中物体属于种别1,末了3张图像的物体属于种别2。
现在,每一张演习图像被用两个程序segment和add_samples去处理。
演习图像
程序segment用大略的blob剖析分割并分离包含在图像中的物体。
对付每一个区域,程序add_samples用程序get_features决定一个特色向量。特色向量和已知种别索引建立了演习样本,其用算子add_sample_class_mlp添加到分类器中。
在程序get_features中被提取的特色是区域特色,特殊是区域的两个圆度和4个矩(用算子moments-region_central_invar)。
Step3:演习分类器
在添加了所有可行的样本后,演习器用train_class_mlp所演习,用clear_samples_class_mlp将样本从内存中移除。
Step4:分类新物体
现在,具有不知物体的图像被探索。物体的分割和它们特色的提取利用和演习图像相同的程序(segment和get_features)来实现。但是,这时一个特色向量的种别还不知道,必须用分类来决定。这样,相对付程序add_samples,在程序classify中,被提取的特色向量被用来作为算子classify_class_mlp的输入,而不是用add_sample_class_mlp。结果便是类的索引,其最适宜特定区域提取的特色向量。
对付结果的一个视觉查看,程序disp_obj_class用特定颜色(依赖区域所属的种别)展示了每一个区域。
根据它们的形状来分类金属件:(左)金属件的图像,(右)被分为3类的金属件(被用不同的灰度值所描述)
Step5:销毁分类器
在程序的末了,分类器被销毁