classify_image_class_lut(Image : ClassRegions : ClassLUTHandle : )
classify_image_class_lut使用查找表ClassLUTHandle对多通道字节图像Image 执行像素分类。
操作符可以替换
classify_image_class_gmm、
classify_image_class_knn、
classify_image_class_mlp
classify_image_class_svm。
由于GMM、KNN、MLP或SVM的每一个可能的响应都存储在LUT中,
因此不再需要对每个图像点中的类别进行估计,从而大大加快了分类的速度。
在使用classify_image_class_lut之前,
必须分别使用
create_class_lut_gmm、
create_class_lut_knn、
create_class_lut_mlp或
create_class_lut_svm中的训练分类器创建这个LUT分类器。
对于分类,
create_class_gmm、
create_class_knn、
create_class_mlp和
create_class_svm中的参数都很重要:
字节图像Image 必须具有与NumInput、NumFeatures或NumDim所指定的相同数量的通道。
由于像素分类的结果,classify_image_class_lut分别在 ClassRegions中传递NumOutput或NumClasses区域。
例程:
read_image (Image, 'patras')
gen_rectangle1 (Sea, 10, 10, 120, 270)
gen_rectangle2 (Deck, [170,400], [350,375], [-0.56192,-0.75139],[64,104], [26,11])
union1 (Deck, Deck)
gen_rectangle1 (Walls, 355, 623, 420, 702)
gen_rectangle2 (Chimney, 286, 623, -0.56192, 64, 33)
concat_obj (Sea, Deck, Classes)
concat_obj (Classes, Walls, Classes)
concat_obj (Classes, Chimney, Classes)
**创建MLP分类器,添加样本,进行训练
* create MLP classifier and train it with sample classes
create_class_mlp (3, 3, 4, 'softmax', 'principal_components', 3, 42, MLPHandle)
add_samples_image_class_mlp (Image, Classes, MLPHandle)
train_class_mlp (MLPHandle, 200, 1, 0.01, Error, ErrorLog)
*
*创建LUT分类器
create_class_lut_mlp (MLPHandle, [], [], ClassLUTHandle)
clear_class_mlp (MLPHandle)
*使用LUT分类器分割图像
classify_image_class_lut (Image, ClassRegions, ClassLUTHandle)
clear_class_lut (ClassLUTHandle)
执行结果
classify_image_class_lut
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|