zoukankan      html  css  js  c++  java
  • halcon学习1识别车牌号码

    1. 利用halcon手动提取车牌号
    2. 目标:1)打开一个640*480窗口,并显示一张1071*1919图;2)识别结果用绿色字体显示在窗口左上角位置
    3. 利用特征直方图,threshold函数,手动选阈值
    4. connection函数
    5. select_shape函数
    6. hanlcon自带的字库read_ocr_class_mlp('Industrial_0-9A-Z_NoRej.omc',OCRHandle)
    7. 关键是翻转图像invert_image,和选择字库Industrial_0-9A-Z_NoRej.omc
    8. 使用Halcon2018,代码如下
    9. dev_close_window()
      * Image Acquisition 01: Code generated by Image Acquisition 01
      read_image (Image, 'C:/Users/Administrator/Pictures/车牌.jpg')
      get_image_size(Image, Width, Height)
      *1)打开一个640*480窗口,并显示这张图
      dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle)
      dev_display(Image)
      *dev_set_window_extents改变图形窗口的大小,左上角坐标和右下角坐标
      dev_set_window_extents (0, 0, 640, 480)
      *dev_set_part用于设置图形窗口中要显示的图像部分。 参数Row1和Column1指定左上角,Row2和Column2指定要显示的图像部分的右下角
      dev_set_part (0, 0, 1071, 1919)
      dev_display (Image)
      disp_message(WindowHandle, ''+Width+''+Height,100,12, 12, 'white', 'true')
      stop()
      *2)识别结果用绿色字体显示在窗口左上角位置
      
      decompose3(Image, ImageR, ImageG, ImageB)
      trans_from_rgb(ImageR, ImageG, ImageB, ImageResult1, ImageResult2, ImageResult3, 'hsv')
      *很关键,必须翻转图像,否则识别不出正确的字符
      invert_image(ImageB, ImageInvert)
      
      threshold (ImageB, Regions, 126, 255)
      connection(Regions, ConnectedRegions)
      select_shape (ConnectedRegions, SelectedRegions, ['row','column'], 'and', [656.47,467.97], [678.06,574.73])
      
      connection(SelectedRegions, ConnectedRegions1)
      stop()
      
      *排序,选特征,列Colum替代行row
      sort_region(ConnectedRegions1, SortedRegions, 'character', 'true', 'column')
      connection(SortedRegions, ConnectedRegions2)
      
      *选用halcon自带字库,0-9A-Z_NoRej,0-9和A-Z,非标准
      read_ocr_class_mlp('Industrial_0-9A-Z_NoRej.omc',OCRHandle)
      do_ocr_multi_class_mlp(ConnectedRegions2, ImageInvert, OCRHandle, Class, Confidence)
      
      dev_display(Image)
      disp_message(WindowHandle, Class, 'Image', 12, 12, 'green', 'true')
    10.  效果如下
    11. 2020-07-162020-07-16第一次修改
  • 相关阅读:
    sql中的group by 和 having 用法解析
    关于js的this上下文环境绑定
    windows Service循环任务.服务启动后无法停止重启的解决办法
    js 数组对象的操作方法
    SVN Client API的.net 接口 SharpSvn介紹 Checkout操作实例
    JQuery实现表格的相同单元格合并的三种方法
    SharpSVN出错信息:Can't determine the user's config path,从此证明了百度是个垃圾
    显示js对象所有属性和方法的函数
    软件开发实践的24条军规
    C#中的泛型
  • 原文地址:https://www.cnblogs.com/youcansayIdontKnow/p/13321014.html
Copyright © 2011-2022 走看看