dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
read_image (Image, 'E:/03 CV(古)/Halcon/代码/糖豆/train.jpg')
Regions:=['黄','红','绿','橙','背景']
gen_empty_obj (Classes)#创建空对象,用以保存训练样本
for i := 1 to |Regions| by 1
dev_display (Image)
dev_display (Classes)
disp_message (WindowHandle, '请选定指定区域:', 'window', 12, 12, 'black', 'true')
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2) #矩形画框,也可以任意形状画框
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
concat_obj (Rectangle, Classes, Classes)
endfor
#创建分类器,添加数据,训练数据
*union1 (Classes, RegionUnion)*此处可不使用union1
create_class_mlp (3,7, 5, 'softmax', 'normalization', 3, 42, MLPHandle)#如果是三通道彩色图像,那第一个参数可以设置3,第三个参数为输出参数个数即Class包含的颜色个数,除去背景色。第二个参数是第三个参数的2倍左右。
add_samples_image_class_mlp (Image, Classes, MLPHandle)#将训练样本Class 添加到网络中
disp_message (WindowHandle, 'Training...', 'window', 100, 12, 'black', 'false')
train_class_mlp (MLPHandle, 400, 0.5, 0.01, Error, ErrorLog)
*test识别
for i := 1 to 3 by 1
read_image (Image1, 'E:/03 CV(古)/Halcon/代码/糖豆/test0'+i)
classify_image_class_mlp (Image1, ClassRegions, MLPHandle, 0.5) #分类识别物体
#显示
for Index := 1 to 5 by 1
dev_clear_window ()
copy_obj (ClassRegions, ObjectsSelected, Index, 1)#选择其中一个
dev_display (Image1)
dev_display (ObjectsSelected)
disp_message (WindowHandle, Regions[5-Index], 'window', 10, 10, 'black', 'true')
endfor
endfor
Halcon clolor_pieces.hedv:分类器_颜色识别
于 2022-02-12 23:54:24 首次发布