轻淘客的轻网站怎么做,做婚恋网站有哪些,天元建设集团网站,购买友情链接HALCON示例程序color_pieces.hdev通过MLP训练器对彩色棋子进行分类识别#xff1b;分别在彩色图像下与灰度图像下进行#xff0c;从而产生对比。
示例程序源码#xff08;加注释#xff09;
关于显示类函数解释 dev_update_off () dev_close_window () dev_open_window (…HALCON示例程序color_pieces.hdev通过MLP训练器对彩色棋子进行分类识别分别在彩色图像下与灰度图像下进行从而产生对比。
示例程序源码加注释
关于显示类函数解释 dev_update_off () dev_close_window () dev_open_window (0, 0, 557, 416, ‘black’, WindowHandle) set_display_font (WindowHandle, 14, ‘mono’, ‘true’, ‘false’) dev_set_draw (‘margin’)初始化 ImageRootName : ‘color/color_pieces_0’ Regions : [‘yellow’,‘pink’,‘blue’,‘background’] Highlight : [‘goldenrod’,‘magenta’,‘cyan’] gen_empty_obj (Classes) for Mode : 0 to 1 by 1 dev_set_color (‘black’) read_image (Image, ImageRootName ‘0’) 生成灰度三通道图像 if (Mode 1) rgb1_to_gray - 将RGB图像转换为灰度图像。rgb1_to_grayRGB图灰度图 ::转换公式灰色 0.299 *R 0.587 *G 0.114 *B。 rgb1_to_gray (Image, GrayImage)compose3 - 将3个图像转换为三通道图像。compose3图1图2图3多通道图像 :: compose3 (GrayImage, GrayImage, GrayImage, Image) dev_display (Image) disp_message (WindowHandle, ‘Train and apply the classes again on gray images’, ‘window’, 12, 12, ‘black’, ‘false’) disp_continue_message (WindowHandle, ‘black’, ‘true’) stop () endif if (Mode 0)指定颜色类 for I : 1 to 4 by 1 dev_display (Image) dev_display (Classes) disp_message (WindowHandle, [‘Drag rectangle inside ’ Regions[I - 1] ’ color’,‘Click right mouse button to confirm’], ‘window’, 24, 12, ‘black’, ‘false’) draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2) gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)带有concat_obj解释的贴子注意和union1的区别 concat_obj (Classes, Rectangle, Classes) endfor endif 创建MLP分类器并添加训练样本关于MLP分类器解释的例子 create_class_mlp (3, 7, 4, ‘softmax’, ‘normalization’, 3, 42, MLPHandle) add_samples_image_class_mlp (Image, Classes, MLPHandle) disp_message (WindowHandle, ‘Training…’, ‘window’, 100, 12, ‘black’, ‘false’) train_class_mlp (MLPHandle, 400, 0.5, 0.01, Error, ErrorLog) for J : 0 to 3 by 1 read_image (Image, ImageRootName J) if (Mode 1) rgb1_to_gray (Image, GrayImage) compose3 (GrayImage, GrayImage, GrayImage, Image) endif classify_image_class_mlp (Image, ClassRegions, MLPHandle, 0.5) dev_display (Image) disp_message (WindowHandle, ‘Looking for 4 game pieces of each color …’, ‘window’, 24, 12, ‘black’, ‘false’) dev_set_line_width (2) for Figure : 1 to 3 by 1 * copy_obj - 复制HALCON数据库中的图标对象。 * copy_obj要复制对象复制出的对象开始索引号对象数量:) copy_obj (ClassRegions, ObjectsSelected, Figure, 1) * 分割定义域 connection (ObjectsSelected, ConnectedRegions) * 通过面积筛选区域 select_shape (ConnectedRegions, SelectedRegions, ‘area’, ‘and’, 400, 99999) * 对区域进行计数 count_obj (SelectedRegions, Number) dev_set_color (Highlight[Figure - 1]) dev_display (SelectedRegions) OutString : Regions[Figure - 1] : ’ Number ’ ’ dev_set_color (‘green’) disp_message (WindowHandle, OutString, ‘window’, 24 30 * Figure, 12, ‘black’, ‘false’) if (Number ! 4) disp_message (WindowHandle, ‘Not OK’, ‘window’, 24 30 * Figure, 120, ‘red’, ‘false’) else disp_message (WindowHandle, ‘OK’, ‘window’, 24 30 * Figure, 120, ‘green’, ‘false’) endif endfor if (J 3) disp_continue_message (WindowHandle, ‘black’, ‘true’) stop () endif endfor endfor dev_clear_window () dev_display (Image) Message : ‘The game pieces cannot be classified reliable on’ Message[1] : ‘gray images because the gray values of the’ Message[2] : ‘game pieces cannot always be distinguished from’ Message[3] : ‘the gray values of the background.’ disp_message (WindowHandle, Message, ‘window’, 12, 12, ‘black’, ‘true’)
处理思路
这个例子是将三通道的RGB图像使用MLP分类器进行分类分别对灰度图像与彩色图像进行了训练与识别对比发现还是彩色图像分类较为准确因为灰度图像不能很好地分割出棋子与背景。
后记
大家有什么问题可以向我提问哈我看到了第一时间回复希望在学习的路上多多结交良师益友。