halcon的车牌识别例子

来源:互联网 发布:数据统计软件 编辑:程序博客网 时间:2024/04/29 16:01

车牌识别主要是orc字符识别的一个应用。通常思路是先读取图像,然后进行图像预处理之后进行图像分割,也就是把需要识别的区域分割出来,如果该区域没有与水平平行,需要做一个几何矫正(通过仿射变换)最后进行识别与读取显示。

下文代码是车牌识别的例子之一,首先对rgb图像做了一个转换,将一个三通道的单幅图像转换成三幅单通道的图像,选择特征比较好的一幅进行图像分割,抠图,最后进行字符排序识别读取以及显示。

dev_close_window ()dev_open_window (0, 0, 512, 512, 'black', WindowHandle)read_image (Image, 'C:/Users/Administrator/Desktop/车牌0.jpg')decompose3 (Image, Red, Green, Blue)trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')threshold (Saturation, Regions, 75, 255)connection (Regions, ConnectedRegions)select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 2306.78, 2945.58)fill_up (SelectedRegions, RegionFillUp)shape_trans (RegionFillUp, RegionTrans, 'rectangle1')reduce_domain (Image , RegionTrans, ImageReduced)threshold (ImageReduced, Regions1, 127, 255)*将蓝色的车牌从图片中直接切割出来然后在进行车牌识别*rgb1_to_gray (ImageReduced, GrayImage)invert_image (GrayImage, ImageInvert1)connection (Regions1, ConnectedRegions1)select_shape (ConnectedRegions1, SelectedRegions1, ['area','height'], 'and', [91.72,21.556], [319.27,50])*通过灰度转化二值化分析计算连通域特征直方图将字符从图片中分割出来。sort_region (SelectedRegions1, SortedRegions, 'character', 'true', 'column')read_ocr_class_mlp ('Industrial_0-9A-Z_NoRej.omc', OCRHandle)do_ocr_multi_class_mlp (SortedRegions, ImageInvert1, OCRHandle, Class, Confidence)disp_message (WindowHandle, Class, 'window', 12, 12, 'black', 'true')

原图
区域选择图像分割之后进行了抠图
halcon中的变量列表

原创粉丝点击