Halcon学习---车牌识别简单应用

read_image (T0153a1b02bef525641, '../img/car_id.jpg')

dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)

*拆分为三个通道
decompose3 (T0153a1b02bef525641, R, G, B)
*转换到hsv控件
trans_from_rgb (R, G, B, ImageResult1, ImageResult2, ImageResult3, 'hsv')
*对S空间做阈值分割
threshold (ImageResult2, Regions, 160, 255)
*用一个小的开操作去掉一些小空洞
opening_rectangle1 (Regions, RegionOpening, 2, 2)
*填充起来
fill_up (RegionOpening, RegionFillUp)
*分离成多个Region
connection (RegionFillUp, ConnectedRegions)
*特征选择下,提取到车牌区域
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 630.48, 3327.85)
*用旋转矩形框一下
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)

*将原图和上一步的Region都仿射变换一下
affine_trans_image (T0153a1b02bef525641, ImageAffinTrans, HomMat2D, 'constant', 'false')
affine_trans_region (RegionTrans, RegionAffineTrans, HomMat2D, 'nearest_neighbor')
*抠出对应区域
reduce_domain (ImageAffinTrans, RegionAffineTrans, ImageReduced)


*颜色反转一下,下面那个分类器只能识别白底黑字
invert_image (ImageReduced, ImageInvert)
*转灰度
rgb1_to_gray (ImageReduced, GrayImage)


***分割字符***

*阈值分割
threshold (GrayImage, Regions1, 94, 202)
*分离多区域
connection (Regions1, ConnectedRegions1)
*特征选择,这个特征选择很局限,只对于这张图
select_shape (ConnectedRegions1, SelectedRegions1, ['column','area','width'], 'and', [193.531,31.36,0], [500,143.64,18.75])
*对字符排序
sort_region (SelectedRegions1, SortedRegions,  'character', 'true', 'column')
*用个ocr的神经网络分类器
read_ocr_class_mlp ('Industrial_0-9A-Z_NoRej.omc', OCRHandle)
*运用这个分类器
do_ocr_multi_class_mlp (SortedRegions, ImageInvert, OCRHandle, Class, Confidence)
*显示,结果有点错误,仅仅学习套路
disp_message (WindowHandle, Class, 'window', 0, 0, 'blue', 'true')








 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫呱呱

如果这篇博文对你有用,求打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值