zoukankan      html  css  js  c++  java
  • halcon形态学运算

    腐蚀、膨胀、开运算(先腐蚀后膨胀)、闭运算(先膨胀后腐蚀)

    以halcon自带案例ball.hdev为例(开运算),注意代码有所缩减。关于sort_region函数,参考http://blog.sina.com.cn/s/blog_13849dbbc0102xhts.html

    dev_update_window ('off') //停止更新窗体
    dev_close_window () //关闭窗体
    dev_open_window (0, 0, 728, 512, 'black', WindowID) //创建窗口,并指定句柄
    read_image (Bond, 'die/die_03')
    dev_display (Bond)
    threshold (Bond, Bright, 100, 255)//二值化,灰度直方图工具
    shape_trans (Bright, Die, 'rectangle2') //形状变换,获得二值图连通域的最小外接矩形
    dev_display (Die)
    reduce_domain (Bond, Die, DieGrey) //缩减区域,缩放原区域至新的范围,新范围必须是原范围的子域。
    threshold (DieGrey, Wires, 0, 50)
    fill_up_shape (Wires, WiresFilled, 'area', 1, 100)//孔洞填充,面积1~100的孔洞
    dev_display (WiresFilled)
    opening_circle (WiresFilled, Balls, 15.5) //开运算,先腐蚀后膨胀。留下面积较大的区域
    dev_display (Balls)
    connection (Balls, SingleBalls) //连通域拆分
    //拆分后,特征直方图,通过圆度选取目标圆
    select_shape (SingleBalls, IntermediateBalls, 'circularity', 'and', 0.85, 1.0)
    //可以省略排序步骤,除非需要显示部分目标的参数(如只显示第2-3的外接圆直径)
    sort_region (IntermediateBalls, FinalBalls, 'first_point', 'true', 'column')//排序区域,按列排序从左边第一个升序
    dev_display (FinalBalls)
    smallest_circle (FinalBalls, Row, Column, Radius)//获得每个区域最小外接圆参数
    NumBalls := |Radius|
    Diameter := 2 * Radius
    meanDiameter := mean(Diameter) //可省略
    minDiameter := min(Diameter)  //可省略
    dev_display (Bond) //显示原图
    disp_circle (WindowID, Row, Column, Radius)
    //显示外接圆直径,在圆上方
    disp_message (WindowID, 'D: ' + Diameter$'.4', 'image', Row - 2 * Radius, Column, 'white', 'false')
    dev_update_window ('on') //更新窗体

    若只显示第2-3的外接圆直径,可以更改相应代码

    disp_message (WindowID, 'D: ' + Diameter[1:2]$'.4', 'image', Row[1:2] - 2 * Radius[1:2], Column[1:2], 'white', 'false')

     

    重要步骤图(只截取了右部区域):

    原图——二值化——最小外接矩形——缩减区域(获得ROI)

    二值化——孔洞填充——开运算——连通域拆分,得到目标圆——显示参数

  • 相关阅读:
    (转)老话题,权限设计及实现!
    (转)深入理解最强桌面地图控件GMAP.NET 百度地图
    (转)一步一步Asp.Net MVC系列_权限管理设计起始篇
    (转)常见存储过程分页PK赛——简单测试分析常见存储过程分页速度
    (转)正则表达之零宽断言(零宽度正预测先行断言)
    holer实现外网访问本地网站
    ural(Timus) 1039. Anniversary Party
    uva 10308 Roads in the North
    其他OJ 树型DP 技能树(未通过)
    ural(Timus) 1067. Disk Tree
  • 原文地址:https://www.cnblogs.com/xixixing/p/10601592.html
Copyright © 2011-2022 走看看