*1)采集图像
read_image (U681567318397337405Fm253FmtAutoApp120FJpegWebp, 'C:/Users/Administrator/Desktop/车牌.jpg')
dev_close_window ()
dev_open_window (0, 0, 728, 512, 'black', WindowID)
*2)定位(基于颜色之blob分析:二值化、形态学、特征选取和区域变换)
仿射矫正
decompose3 (U681567318397337405Fm253FmtAutoApp120FJpegWebp, Red, Green, Blue)#颜色通道拆分
trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')#RGB转HSV
threshold (Saturation, Regions, 228, 255)#Saturation最清晰
opening_rectangle1 (Regions, RegionOpening, 2, 2)
connection (RegionOpening, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 9229.36, 20000)
shape_trans (SelectedRegions, RegionTrans, 'rectangle2')
orientation_region (RegionTrans, Phi)
area_center (RegionTrans, Area, Row, Column)
vector_angle_to_rigid (Row, Column, Phi, Row, Column, 0, HomMat2D)#从点和角度计算刚性仿射变换。此时若Phi为正,则“0”改为“3.14”或者“rad(180)”
affine_trans_image (U681567318397337405Fm253FmtAutoApp120FJpegWebp, ImageAffineTrans, HomMat2D, 'constant', 'false')#对原图进行仿射变换
affine_trans_region (RegionTrans, RegionAffineTrans, HomMat2D, 'nearest_neighbor')#区域仿射变换
reduce_domain (ImageAffineTrans, RegionAffineTrans, ImageReduced)#仿射区域到仿射图片中去截取
*3)字符分割(保证每个字符一个完整的连通域)
rgb1_to_gray (ImageReduced, GrayImage)
invert_image (GrayImage, ImageInvert)#转换为Halcon自带的白底黑字
threshold (GrayImage, Regions1, 150, 194)
*opening_rectangle1 (Regions1, RegionOpening1, 1, 1)
connection (Regions1, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions1, 'area', 'and', 362.39, 1000)
*4)识别
sort_region (SelectedRegions1, SortedRegions, 'character', 'true', 'column')#BW39S5:不排序是B39S5W,排序是和原图一样的顺序BW39S5
*read_ocr_class_cnn ('Universal_Rej.occ', OCRHandle)
read_ocr_class_mlp ('Industrial_0-9A-Z_NoRej.omc', OCRHandle)
*do_ocr_multi_class_cnn (SortedRegions, ImageInvert,OCRHandle , Class, Confidence)
do_ocr_multi_class_mlp (SortedRegions, ImageInvert, OCRHandle, Class, Confidence)
*5)显示
smallest_rectangle1 (SortedRegions, Row1, Column1, Row2, Column2)
disp_message (WindowID, Class, 'image', Row2, Column1, 'green', 'false')#图像下发横排显示,不需要for循环
*disp_message (WindowID, Class, 'window', 0,0, 'red', 'true')#窗口竖排显示
Halcon车牌颜色定位纠正、识别
于 2022-02-10 00:20:24 首次发布