API:erision_circle()
opening_clrcle()
腐蚀命令对原图像信息的丢失比open命令更为严重
select_shape()
dev_close_window()
dev_open_window()
需要在窗口显示信息前需要进行这两部操作,获取窗口ID
图片处理一般流程
采集》预处理(去噪声)》特征处理
API:decompose3
将一张图装换成三个色域的图
Convert a three-channel image into three images.
API:trans_frim_rgb
Transform an image from the RGB color space to an arbitrary color space.
可用于某个区域的特征提取
当干扰区域比较多时
API:connection 断开连通域
API:select_shape 选择特征直方图,选出目标领域
例子1
车牌识别过程
- 图片二值化处理:
通道转换:decompose3,tran_from_rgb
使用灰度直方图,突出车牌信息特征 - 特征提取
去除多余噪声:形态学,opening,erssion,
断开连通域:connection
使用特征直方图选择车牌信息 - 调整特征位置
填充fill_up
获取方向信息:orinentation
将图片信息摆正
将特征信息摆正 - 对车牌信息进行处理
二值化-形态学-连通域
特征识别:sort_region(character)
文字识别:read_orc_class_mlp
图像基础
- 图像灰度变化(scale_image)
- 图像增强(emphasize)
- 图像几何变化(仿射变化,极坐标变换)
- 图像分割(blob分析、边缘检测,reduce_domain)
- 图像频域(fft_image)
- 图像形态学(opening)腐蚀膨胀
- 图像复原
- 运动图像
- 图像配准(模板匹配)
- RGB》》》HSV(亮度、射度、饱和度)
颜色识别
图片获取:
颜色分类:Regions :=[‘黄’,‘红’,‘绿’,‘橙’]
建立空目标:gen_empty_obj (EmptyObject)
循环框选颜色区域:
for i := 1 to |Regions|+1 by 1
dev_display (Color)
dev_display (EmptyObject)
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, EmptyObject, EmptyObject)
endfor
深度学习部分:
创建分类:create_class_()
加入:add_samples_image_class_()
显示提示:disp_message
训练模型:train_class_mlp
结果显示:
while(true)
read_image (Color, 'E:/YZW/image/color.jpg')
classify_image_class_mlp (Color, ClassRegions, MLPHandle, 0.5)
for Index := 1 to 5 by 1
dev_clear_window ()
copy_obj (ClassRegions, ObjectsSelected, Index, 1)
disp_message (WindowHandle, Regions[Index-1], 'window', 10, 10, 'black', 'true')
dev_display (ObjectsSelected)
stop ()
endfor
endwhile
这篇博客详细介绍了使用Halcon进行图像处理的步骤,包括图片采集、预处理、特征处理等。重点讲解了如何进行二值化、通道转换、形态学操作如腐蚀和膨胀,以及连接断开的连通域。此外,还提到了选择形状、车牌识别过程,涉及到特征选择和文字识别。最后,讨论了颜色空间转换和深度学习在图像识别中的应用。

1004

被折叠的 条评论
为什么被折叠?



