• halcon 算子shape_trans


    shape_trans

    函数原型:shape_trans(Region : RegionTrans : Type : )

    函数作用:变换区域的形状

    参数列表:

    Region(in):被变换的区域

    RegionTrans(out):变换后的区域

    Type(in):变换类型

    参数Type的可选项解释如下:

    convex:凸包

    ellipse:与输入区域有相同的矩和区域的椭圆

    outer_circle:最小外接圆

    inner_circle:最大内接圆

    rectangle1:平行于坐标轴的最小外接矩形

    rectangle2:最小外接矩形

    inner_rectangle1:平行于坐标轴的最大内接矩形

    inner_rectangle2:输入区域的骨架点拥有同输入区域的重心点最小的距离

    注意:如果Type是outer_circle,最终的圆形区域不是完全覆盖输入区域,因为内部算法原理是由算子smallest_circle和gen_circle完成的。由smallest_circle计算的半径能够小到1/sqrt(2)-0.5个像素。同时,由gen_circle生成的圆在双方向上由0.5个像素转换。因此,当加入双方的影响,原因区域可能要超出返回圆形区域至多1个像素

    可能前置项:

    connection, regiongrowing

    可能后置项:

    disp_region, regiongrowing_mean, area_center

    可替代项:

    convexity, elliptic_axis, area_center, smallest_rectangle1, smallest_rectangle2, inner_rectangle1, set_shape, select_shape, inner_circle

    
    *清空显示窗口。
    dev_close_window ()
    *读取参考图像。这里读取图像是为了创建模板。
    read_image (Image, 'D:/data/pen01.jpg')
    *因为参考图像因为拍摄的原因会有一些噪声,因此使用均值滤波对图像进行平滑。
    
    mean_image (Image, ImageMean, 3, 3)
    *获取图像的宽和高用于窗口显示
    get_image_size (Image, Width, Height)
    *设置窗口显示参数,包括设置绘制线条的颜色和线宽等
    dev_close_window ()
    dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
    dev_set_color ('red')
    dev_display (Image)
    dev_set_draw ('margin')
    dev_set_line_width(3)
    
    *对原图进行阈值分割,粗略的提取出印刷图案的区域
    threshold (ImageMean, Region, 0, 42)
    *对印刷图案区域做一定的膨胀,使选区完全包围印刷图案部分
    dilation_circle (Region, RegionDilation, 8.5)
    *将选择转化为包围的形状
    shape_trans (RegionDilation, RegionTrans, 'rectangle2')
    dev_display (RegionTrans)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    在这里插入图片描述
    参考:https://blog.csdn.net/doubleintfloat/article/details/133674742?spm=1001.2014.3001.5501
    halcon 帮助文档

  • 相关阅读:
    金仓数据库 KingbaseES PL/SQL 过程语言参考手册(7. PL/SQL 静态 SQL)
    Redis数据结构-String篇
    基于SSM实现手机销售商城系统
    C++ 类和对象(六)赋值运算符重载
    与英特尔分手后,苹果收获成功
    【LeetCode】No.75. Sort Colors -- Java Version
    Python+大数据-hadoop(四)-Hadoop MapReduce、YARN、HA
    项目焊接(上)
    LeetCode_哈希表_简单_594.最长和谐子序列
    利用mAP计算yolo精确度
  • 原文地址:https://blog.csdn.net/doubleintfloat/article/details/133697213