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

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

dev_update_window ('off') //停止更新窗体
dev_close_window () //关闭窗体
dev_open_window (, , , , 'black', WindowID) //创建窗口,并指定句柄
read_image (Bond, 'die/die_03')
dev_display (Bond)
threshold (Bond, Bright, , )//二值化,灰度直方图工具
shape_trans (Bright, Die, 'rectangle2') //形状变换,获得二值图连通域的最小外接矩形
dev_display (Die)
reduce_domain (Bond, Die, DieGrey) //缩减区域,缩放原区域至新的范围,新范围必须是原范围的子域。
threshold (DieGrey, Wires, , )
fill_up_shape (Wires, WiresFilled, 'area', , )//孔洞填充,面积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 := * Radius
meanDiameter := mean(Diameter) //可省略
minDiameter := min(Diameter) //可省略
dev_display (Bond) //显示原图
disp_circle (WindowID, Row, Column, Radius)
//显示外接圆直径,在圆上方
disp_message (WindowID, 'D: ' + Diameter$'.4', 'image', Row - * Radius, Column, 'white', 'false')
dev_update_window ('on') //更新窗体

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

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

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

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

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

halcon形态学运算的更多相关文章

  1. OpenCV2.x自学笔记——形态学运算

    名称 标识符 作用 原理 腐蚀 MORPH_ERODE 膨胀 MORPH_DILATE 开运算 MORPH_OPEN 消除细白点 先腐蚀后膨胀 闭运算 MORPH_CLOSE 消除小黑洞 先膨胀后腐蚀 ...

  2. Halcon一维运算相关算子整理

    Halcon一维离散函数算子 1.      abs_funct_1d  计算一维数组的绝对值 2.      compose_funct_1将两个离散的一维函数合并为一个函数 3.      cre ...

  3. halcon区域运算

    区域运算: Ø 并:union1().union2(): Ø 交:intersection(); Ø 差:difference(); Ø 补:complement():

  4. Region特征算子与形态学运算——第3讲

      问题提出:求下图中楔形缺口到圆心的最短距离. [涉及知识点讲解] 一.Region特征算子 在图形窗口中用鼠标单击选中某个Region,然后点击菜单栏的“打开特征检测”图标,就可以看到当前Regi ...

  5. 学习 opencv---(10)形态学图像处理(2):开运算,闭运算,形态学梯度,顶帽,黒帽合辑

    上篇文章中,我们重点了解了腐蚀和膨胀这两种最基本的形态学操作,而运用这两个基本操作,我们可以实现更高级的形态学变换. 所以,本文的主角是OpenCV中的morphologyEx函数,它利用基本的膨胀和 ...

  6. 【OpenCV新手教程之十一】 形态学图像处理(二):开运算、闭运算、形态学梯度、顶帽、黑帽合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/23184547 作者:毛星云(浅墨) ...

  7. 形态学及其他集合运算(Morphological and Other Set Operations)

    摘    要:本实验主要实现形态学图像处理.主要验证图像集合的交并补运算.膨胀和腐蚀处理并利用图像集合的运算,实现形态学边界抽取算法并进行特征边界抽取.同时将膨胀和腐蚀扩展至灰度图像,编写函数实现灰度 ...

  8. opencv-图像形态学之开运算、闭运算、形态学梯度、顶帽、黑帽合辑

    转自:https://blog.csdn.net/poem_qianmo/article/details/24599073 1.1 开运算(Opening Operation) 开运算(Opening ...

  9. opencv —— morphologyEx 开运算、闭运算、形态学梯度、顶帽、黑帽

    开运算:先腐蚀后膨胀. 能够排除小亮点. 闭运算:先膨胀后腐蚀. 能够排除小黑点. 形态学梯度:膨胀图 — 腐蚀图. 对二值图像进行这一操作,可将图块的边缘突出出来,故可用来保留物体边缘轮廓. 顶帽: ...

随机推荐

  1. 2018-南京网络赛icpc-L题(分层最短路)

    题意:给你n个点,m条边的有向带权图,然后你每次可以选<=k条边的边权变成0,问你1到n的最短路: 解题思路:这道题基本上就是原题了呀,bzoj2763(无向图),解法就是拆点跑分层的最短路,比 ...

  2. 搭建Hexo博客(一)-创建Hexo环境

    Hexo配合github,可以创建自己的博客.基本原理是使用Hexo生成静态页面,发布到github上.在本地需要搭建Hexo环境. 1.安装nodejs 下载并安装NodeJS,官网地址:https ...

  3. C#常忘语法笔记(C#程序设计基础1-4章)

    1.1 const:声明一个常量 1.2强转: double->int eg1: int i=(int)3.0; eg2: double d=3.0; int i=(int)d+1; strin ...

  4. JSON 解析 (二)—— Jackson的使用

    Jackson是基于Java语言的一种JSON和Java对象的数据处理工具.功能上简单易用,性能上根据目前主流转换工具比较,Jackson相对比较高效. <dependency> < ...

  5. linux shell系列10 判断某个月中的星期六和星期天

    #!/bin/bashread -p "请输入月份:" month #输入要查找的月份 mon=`date -d "0 month ago" +%m` #计算本 ...

  6. Codeforces Round #429 Div. 1

    A:甚至连题面都不用仔细看,看一下样例就知道是要把大的和小的配对了. #include<iostream> #include<cstdio> #include<cmath ...

  7. 多校#5-1005-Instring-HDU5785-manacher+维护

    寻找三元组(i,j,k),使得(i,j)(j,k)都是回文字串,其中i<=j<k. 可以发现,对于每一位i,只要预处理出来有多少个以i为右端的回文串和以i为左端的回文串.把那些串的另一端的 ...

  8. 使用python和selenium写一个百度搜索的case

    今天练习的内容主要写了一个小功能,在百度上搜索某词汇,然后实现web上的back功能 代码如下: import unittest from selenium import webdriver from ...

  9. mysql中存储字段类型的查询效率

    检索性能从快到慢的是(此处是听人说的): 第一:tinyint,smallint,mediumint,int,bigint第二:char,varchar第三:NULL 解释(转载): 整数类型1.TI ...

  10. Nowcoder | [题解-N210]牛客OI月赛2-提高组

    比赛连接戳这里^_^ 我才不会说这是我出的题(逃) 周赛题解\((2018.10.14)\) \(T1\) \(25\sim50\)分做法\(:\)直接爆搜 作为一个良心仁慈又可爱的出题人当然\(T1 ...