一个车牌号码识别示例

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达ad8cd35162a456030b6aa5c6fc6a0a4a.jpeg

来源 | halcon视觉学习

一个车牌号码识别示例,分享给大家!


识别前图片:

1079ece66a8002322c69f843f8e4cf0b.jpeg

识别结果:

858192ae3783abcd6473d10767667b3d.jpeg

代码如下:

dev_update_window ('off')




***读图片
read_image (Image, 'C:/Users/srs/Desktop/临时/6.jpg')
***获得图片尺寸
get_image_size (Image, Width, Height)
*关闭激活的图形窗口
dev_close_window ()


*打开一个新的图形窗口,它可以被用来显示图像
dev_open_window (0, 0, Width/4, Height/4, 'black', WindowHandle)
*置显示字体
set_display_font (WindowHandle, 20, 'mono', 'true', 'false')
*显示在当前图形窗口中的图像对象
dev_display (Image)
*一个三通道图像转换成三幅图像(红、绿、蓝)
decompose3 (Image, Red, Green, Blue)
*从RGB颜色空间的任意颜色空间改造图像
trans_from_rgb (Red, Green, Blue, ImageResult1, ImageResult2, ImageResult3, 'hsv')
*使用全局阈值分割图像
threshold (ImageResult2, Region, 100, 255)
*从区域去除噪声
remove_noise_region (Region, OutputRegion, 'n_48')
*计算一个地区的连接组件
connection (OutputRegion, ConnectedRegions)
*关闭一个地区,一个长方形的结构元素
closing_rectangle1 (ConnectedRegions, RegionClosing, 10, 10)
*选择区域的形状特征---面积
select_shape (RegionClosing, SelectedRegions, 'area', 'and', 20000, 999999)
*清除激活的图形窗口的内容
dev_clear_window()
*显示在当前图形窗口中的图像对象
dev_display (SelectedRegions)
*减少域的图像
reduce_domain (ImageResult2, SelectedRegions, ImageReduced)
*清除激活的图形窗口的内容
dev_clear_window()
*显示在当前图形窗口中的图像对象
dev_display (ImageReduced)
*关闭一个地区,一个长方形的结构元素
closing_rectangle1 (SelectedRegions, RegionClosing1, 500, 500)
*清除激活的图形窗口的内容
dev_clear_window()
*显示在当前图形窗口中的图像对象
dev_display (RegionClosing1)
*清除激活的图形窗口的内容
dev_clear_window ()
*显示在当前图形窗口中的图像对象
dev_display (Image)
*设置一个或多个的输出颜色
dev_set_color ('green')
*定义输出区域轮廓线的宽度
dev_set_line_width (3)
* 定义该地区输出的形状
dev_set_shape ('rectangle1')
*定义区域的填充模式
dev_set_draw ('margin')
*显示在当前图形窗口中的图像对象
dev_display (RegionClosing1)
*减少域的图像
reduce_domain (Image, RegionClosing1, ImageReduced1)
*清除激活的图形窗口的内容
dev_clear_window()
*显示在当前图形窗口中的图像对象
dev_display (ImageReduced1)
*获取的图像的大小
get_image_size (ImageReduced1, Width1, Height1)
*多输出的颜色
dev_set_colored (12)
*定义区域的填充模式
dev_set_draw ('fill')
*定义该地区输出的形状
dev_set_shape ('original')
*在一个区域的图像中分类字符
segment_characters (RegionClosing1, ImageReduced1, ImageForeground, RegionForeground, 'local_auto_shape', 'false', 'false', 'medium', Width1/9, Height1*0.8, 0, 10, UsedThreshold)
*在给定的形状特征的区域,填充孔
fill_up_shape (RegionForeground, RegionFillUp, 'area', 1, 800)
*计算两个区域的对称差
symm_difference (RegionClosing1, RegionFillUp, RegionDifference)


//dev_display (Image)




*显示在当前图形窗口中的图像对象
dev_display (RegionDifference)


//select_characters (RegionDifference, RegionCharacters, 'false', 'medium', Width1/9, Height1*0.8, 'false', 'false', 'none', 'false', 'medium', 'false', 0, 'completion')
*关闭一个地区,一个长方形的结构元素
closing_rectangle1 (RegionDifference, RegionClosing2, 3, 3)
*计算一个地区的连接组件
connection (RegionClosing2, ConnectedRegions1)
*选择区域的形状特征---面积
select_shape (ConnectedRegions1, SelectedRegions2, 'area', 'and', 2000, 99999)
*分拣区域的相对位置
sort_region (SelectedRegions2, SortedRegions, 'first_point', 'true', 'row')
*从一个文件中读取OCR分类
read_ocr_class_mlp ('C:/Program Files/MVTec/HALCON-10.0/ocr/Industrial_0-9A-Z.omc', OCRHandle)
*在一个分类器中分类多种字符
do_ocr_multi_class_mlp (SelectedRegions2, ImageResult2, OCRHandle, Class, Confidence)
*计算的面积和的输入区域的中心
area_center (SortedRegions, Area, Row, Column)


*设置字体独立的OS,这个程序设置文字的字体在当前窗口的指定属性的大小,加粗,倾斜的字体
set_display_font (WindowHandle, 27, 'mono', 'true', 'false')
*关闭激活的图形窗口
dev_clear_window()
*显示在当前图形窗口中的图像对象
dev_display (Image)
*显示在当前图形窗口中的图像对象
dev_display (SelectedRegions2)
*计次循环语句,0-5,6次循环,步长为1
for i := 0 to 5 by 1
*这个程序写入一个文本消息
disp_message (WindowHandle, Class[i], 'image', Row[i]+400, Column[i]-3, 'green', 'false')
*ENDFOR是一个for循环的最后一条语句。
endfor




*清除的OCR分级
clear_ocr_class_mlp (OCRHandle)
***标志性的输出对象 - 开关自动输出到图形窗口中程序的执行过程中打开或关闭。
dev_update_window ('on')

注:本例主要知识点就是图像的分割和字符OCR的识别。

本文仅做学术分享,如有侵权,请联系删文。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值