中国人在国外做网站网站代理,网站策划案范文,推广产品最好的方式,广告设计与制作厂家HALCON示例程序classify_image_class_mlp.hdev如何使用MLP分类器分割RGB图像
示例程序源码#xff08;加注释#xff09;
关于显示相关显示在其他帖子有介绍。 dev_update_off () dev_close_window () dev_open_window (0, 0, 735, 485, ‘black’, WindowHandle) set_disp…HALCON示例程序classify_image_class_mlp.hdev如何使用MLP分类器分割RGB图像
示例程序源码加注释
关于显示相关显示在其他帖子有介绍。 dev_update_off () dev_close_window () dev_open_window (0, 0, 735, 485, ‘black’, WindowHandle) set_display_font (WindowHandle, 14, ‘mono’, ‘true’, ‘false’) dev_set_draw (‘margin’) dev_set_colored (6) dev_set_line_width (3) read_image (Image, ‘patras’) dev_display (Image) Color : [‘indian red’,‘cornflower blue’,‘white’,‘black’,‘yellow’]
创建分割不同类别的区域 gen_rectangle1 (Sea, 10, 10, 120, 270) gen_rectangle2 (Deck, [170,400], [350,375], [-0.56,-0.75], [64,104], [26,11]) union1 (Deck, Deck) gen_rectangle1 (Walls, 355, 623, 420, 702) gen_rectangle2 (Chimney, 286, 623, -0.56, 64, 33)concat_obj介绍 concat_obj (Sea, Deck, Classes) concat_obj (Classes, Walls, Classes) concat_obj (Classes, Chimney, Classes)显示 dev_set_color (Color[0]) dev_display (Deck) dev_set_color (Color[1]) dev_display (Sea) dev_set_color (Color[2]) dev_display (Walls) dev_set_color (Color[3]) dev_display (Chimney) Message : ‘Training regions for the color classifier’ disp_message (WindowHandle, Message, ‘window’, 12, 12, ‘black’, ‘true’) disp_continue_message (WindowHandle, ‘black’, ‘true’)程序停止运行便于观察 stop ()创建MLP分类器并添加分类样本create_class_mlp( : : 输入维度数量, 隐藏单位数, 输出类别数, 输出函数类型, 预处理类型, 预处理参数, 迭代次数 : MLP句柄) create_class_mlp (3, 3, 4, ‘softmax’, ‘principal_components’, 3, 42, MLPHandle)为MLP添加训练样本add_samples_image_class_mlp(图像, 不同类的区域: : MLP句柄 : ) add_samples_image_class_mlp (Image, Classes, MLPHandle) dev_display (Image) Message : ‘Training …’ disp_message (WindowHandle, Message, ‘window’, 12, 12, ‘black’, ‘true’)训练分类器train_class_mlp( : : MLP句柄, 最大迭代次数, 权重差异阈值, 误差差异阈值: 平均误差, 平均误差Log) train_class_mlp (MLPHandle, 200, 1, 0.01, Error, ErrorLog) Message : Message ’ ready.’ Message[1] : ‘Segment image using the classifier …’ disp_message (WindowHandle, Message, ‘window’, 12, 12, ‘black’, ‘true’)分割图像classify_image_class_mlp(图像 : 分割结果: MLP句柄, 拒绝分类区域阈值: ) classify_image_class_mlp (Image, ClassRegions, MLPHandle, 0.5)使用区域的平均灰度值填充图像 region_to_mean (ClassRegions, Image, ImageClass) dev_display (ImageClass) Message[1] : Message[1] ’ ready.’ disp_message (WindowHandle, Message, ‘window’, 12, 12, ‘black’, ‘true’)清除句柄 clear_class_mlp (MLPHandle) disp_continue_message (WindowHandle, ‘black’, ‘true’) stop ()下边分割了另几种颜色和上文一样 gen_rectangle2 (Rejection, [193,66,261], [235,332,328], [-0.32,-1.45,-1.51], [33,34,60], [4,3,3]) union1 (Rejection, Rejection) concat_obj (Classes, Rejection, Classes) dev_display (Image) dev_set_color (Color[0]) dev_display (Deck) dev_set_color (Color[1]) dev_display (Sea) dev_set_color (Color[2]) dev_display (Walls) dev_set_color (Color[3]) dev_display (Chimney) dev_set_color (Color[4]) dev_display (Rejection) disp_message (WindowHandle, ‘Add a rejection class to improve the robustness of the classifier’, ‘window’, 12, 12, ‘black’, ‘true’) disp_continue_message (WindowHandle, ‘black’, ‘true’) stop () dev_display (Image)Create the classifier and add the samples create_class_mlp (3, 4, 5, ‘softmax’, ‘principal_components’, 3, 42, MLPHandle) add_samples_image_class_mlp (Image, Classes, MLPHandle)Train the classifier Message : ‘Training the classifier with rejection class…’ disp_message (WindowHandle, Message, ‘window’, 12, 12, ‘black’, ‘true’) train_class_mlp (MLPHandle, 200, 1, 0.01, Error, ErrorLog) Message : Message ’ ready.’ Message[1] : ‘Segment image using the classifier …’ disp_message (WindowHandle, Message, ‘window’, 12, 12, ‘black’, ‘true’)Segment (classify) the image classify_image_class_mlp (Image, ClassRegionsNotRejected, MLPHandle, 0.5)Select every class except the rejection class. copy_obj (ClassRegionsNotRejected, ClassRegionsNotRejected, 1, 4)Note that the black areas in the mean image correspond to the rejected pixels region_to_mean (ClassRegionsNotRejected, Image, ImageClassNotRejected) dev_display (ImageClassNotRejected) Message[1] : Message[1] ’ ready.’ disp_message (WindowHandle, Message, ‘window’, 12, 12, ‘black’, ‘true’) clear_class_mlp (MLPHandle)
处理思路
这个例子介绍了使用MLP分类器对彩色图片进行分类的例子选取多通道图片的感兴趣区域与背景可以对多通道图片进行快速分类。
后记
大家有什么问题可以向我提问哈我看到了第一时间回复希望在学习的路上多多结交良师益友。