Halcon车牌颜色定位纠正、识别

该博客详细介绍了基于Halcon的车牌识别过程,包括图像采集、颜色分析进行定位、仿射矫正、字符分割以及字符识别。通过一系列图像处理技术,如二值化、形态学操作和仿射变换,确保字符的精确分割和识别。最后,利用OCR技术对分割后的字符进行识别,并展示识别结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*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')#窗口竖排显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值