halcon车牌识别

dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
read_image (P6, 'E:/机器视觉/Halcon/P6.png')
dev_resize_window_fit_image (P6, 0, 0, -1, -1)
rgb1_to_gray (P6, GrayImage)
threshold (GrayImage, Regions, 129, 209)
opening_rectangle1 (Regions, RegionOpening, 5,5) //小区域积分被淘汰
connection (RegionOpening, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ['area','width'], 'and', [1354.36,0], [2764.38,46.38])
read_ocr_class_mlp ('Industrial_0-9A-Z_NoRej.omc', OCRHandle)
invert_image (GrayImage, ImageInvert)  //图像颜色翻转
do_ocr_multi_class_mlp (SelectedRegions, ImageInvert, OCRHandle, Class, Confidence)
dev_display (P6)
disp_message (WindowHandle, Class, 'window', 0, 0, 'black', 'true')

字符训练

dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
*采集图像
read_image (P7, 'E:/机器视觉/Halcon/P7.png')
dev_resize_window_fit_image (P7, 0, 0, -1, -1)
*车牌定位及校正
decompose3 (P7, Red, Green, Blue)
trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')
threshold (Saturation, Regions, 239, 255)
connection (Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 4962.89, 50000)
shape_trans (SelectedRegions, RegionTrans, 'convex')
orientation_region (RegionTrans, Phi)
area_center (RegionTrans, Area, Row, Column)
*计算旋转矩阵
vector_angle_to_rigid (Row, Column, Phi, Row, Column, 3.14, HomMat2D)
*对图像进行旋转
affine_trans_image (P7, ImageAffineTrans, HomMat2D, 'constant', 'false')
*对区域进行旋转
affine_trans_region (RegionTrans, RegionAffineTrans, HomMat2D, 'nearest_neighbor')
*在旋转后的图像中截取车牌
reduce_domain (ImageAffineTrans, RegionAffineTrans, ImageReduced)
*字符分割
decompose3 (ImageReduced, Red1, Green1, Blue1)
*RGB颜色空间转换HSV(色调H、饱和度S、亮度V)
trans_from_rgb (Red1, Green1, Blue1, Hue1, Saturation1, Intensity1, 'hsv')
*二值化
threshold (Saturation1, Regions1, 0, 124)
*形成连通域
connection (Regions1, ConnectedRegions1)
*特征选择
select_shape (ConnectedRegions1, SelectedRegions1, 'area', 'and', 1252.29, 2252.29)
*字符排序
sort_region (SelectedRegions1, SortedRegions, 'character', 'true', 'row')
*区域计数
* count_obj (SortedRegions, Number)
*识别
read_ocr_class_mlp ('Industrial_0-9A-Z_NoRej.omc', OCRHandle)
do_ocr_multi_class_mlp (SortedRegions, Saturation1, OCRHandle, Class, Confidence)
*显示
* for i := 1 to Number by 1
disp_message (WindowHandle, Class[0]+Class[1]+Class[2]+Class[3]+Class[4]+Class[5], 'window', 0, 0, 'black', 'true')
* endfor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值