- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于halcon的车牌的图像识别_整理.
基于halcon的车牌的图像识别 其实车牌图像识别从技术上已经比较成熟,从理论上来说无外乎就是如下几个步骤: 灰度化:实际就是对原始车牌图片进行预处理,把彩色图片转化为黑白图片,然后对不符合指定阙值范围的灰度值进行过滤。 车牌定位:这是技术难点之一,根据我的经验,定位车牌位置对于车牌的准确识别而言实际上就成功了60%。很多车牌识别的产品都对车牌的定位预留了很多配置参数,例如截取原始图片的位置参数、车牌的长宽比例、大小等等,这些都是为了提高车牌定位的准确率。 字符分割:车牌定位后是字符分割,本人使用的识别过程是:对定位的车牌位置进行降噪处理=边界模糊=从右向左找出前6个封闭的图形=剩余的封闭图形综合为一个图形进行汉字的识别。 字符识别:就是根据字符模板进行模板匹配,因此需预先建立相应的字符模板。基于图像进行字符识别也可配置很多参数来大大提高字符的识别率。例如限定车牌头的字符,车牌各位字符的识别优先级等等。 以下通过大车黄牌号码为例,看看车牌识别的效果。 1、原始图片如下图所示: 2、限定车牌识别区域,本例中将裁剪掉上下左右各10%的区域:?get_image_pointer1?(FullImage,?Pointer,?Type,?Width,?Height)gen_rectangle1?(Rectangle,?Height*0.1,?Width*0.1,?Height*0.9,?Width*0.9)reduce_domain?(FullImage,?Rectangle,?Image)? 看看裁剪结果:? 3、把选中的区域灰度化,方便后续处理:decompose3?(Image,?Red,?Green,?Blue)trans_from_rgb?(Red,?Green,?Blue,?Hue,?Saturation,?Intensity,?hsv)? 灰度化后的效果图: 4、灰度阙值过滤,本例中只选中灰度值在100至255之间的区域,可根据实际情况进行相应的设置,然后进行降噪处理:?threshold?(Saturation,?HighSaturation,?100,?255)remove_noise_region?(HighSaturation,?OutputRegion,?n_48)? 过滤降噪后的效果,和实际的位置很接近了吧!? 5、根据预定义的车牌长宽比例等查找符合特定特征的区域:?代码connection?(OutputRegion,?ConnectedRegions1)closing_rectangle1?(ConnectedRegions1,?RegionClosing1,?10,?10)select_shape?(RegionClosing1,?ASelectedRegions,?area,?and,?3000,?9000)select_shape?(ASelectedRegions,?HSelectedRegions,?height,?and,?30,?90)select_shape?(HSelectedRegions,?SelectedRegions,?width,?and,?60,?180)? 效果图如下,分割成了多个区域哈: 6、呈现出车牌区域的灰度化图像:reduce_domain?(Hue,?SelectedRegions,?HueHighSaturation)? 效果如下,是不是和实际位置一致啊!? 7、对上述车牌的精确区域进行阙值过滤,主要是为了去掉车牌周围的黑色边框:threshold?(HueHighSaturation,?Region,?30,?50)? 效果图如下:????????8、填充有字符而没有在上述算法中被选中的内部区域:closing_rectangle1?(Region,?RegionFillUp,?20,?20)?????????填充后的相关效果图如下:????????9、根据选中的上述区域,从原始图片中加载该区域:reduce_domain?(Image,?RegionFillUp,?TruckTagImage)????????效果图如下,车牌又出现了哈???????10、确定识别区域字符的偏移角度,根据摄像机位置的不同其倾斜度也会有所不同(根据分割算法的不同,其实此步骤可以省略):connection?(RegionFillUp,?ConnectedReducedRegions)text_line_orientation?(ConnectedReducedRegions,?TruckTagImage,?30,?-0.523599,?0.523599,?OrientationAngle)????????11、显示真实的车牌位置图像,主要是方便
文档评论(0)