按照例子的顺序学习方法,遇到新的函数会以加粗格式显示

*partical。hdev:Measurement of small particles

图片为医学颗粒成像,这里的图像处理主要是为了把颗粒的位置信息确定下来,如图,大颗粒很好确认,但是小颗粒的位置信息比较模糊,需要后续操作来提取:

先提取大颗粒然后提取出小颗粒的候选位置

dev_update_off()

dev_close_window()

dev_open_window(.......)

set_display_font(....)

read_image(..)

dev_display(...)

display message

....

stop()

threshold(Image,Large,110,255)

1   dilation_circle(Large,LargeDilation,7.5)

以圆形为模板,对large图像进行膨胀运算,7.5指的是模板半径

。。。

是指显示和画图参数,对LargeDilation图像进行红色填充式的显示margin

。。。

stop()

2   complement(LargeDilation, NotLarge)

对膨胀过后的region进行求补集运算,得到整个原图中除去大颗粒区域以外的区域NotLarge

reduce_domain(Image,NotLarge,ParticlesRed)

减少操作区域,从Image中剪掉NotLarge区域以外的区域,保存为ParticlesRed

mean_image(ParticlesRed, Mean, 31,31)

按照模板的平均值来对输入图像进行平滑,保存在输出图像中

3   dyn_threshold(ParticlesRed, Mean, SmallRaw, 3,' light')图片阈值分割

使用Mean这个threshold(Mean是上述NotLarge也就是说小颗粒所在的区域ParticlesRed 的平均值)对图像ParticlesRed(未经过均值处理的NotLarge区域)进行筛选,3是Offset,选择light格式,规则如下:

original=go,threshold=gt(这里指的是Mean)

Light: go>=gt+offset

dark:    go<=gt-offset

equal:  gt-offset<=go<=gt+offset

not_equal:   gogt+offset

此处的筛选,是为了得到小颗粒区域中,比平均值大的区域(可能是小颗粒的存在)

opening_circle(SmallRaw, Small, 2.5)

对得到的SmallRaw进行圆模板开运算

connection(Small, SmallConnection)

...

显示控制信息

。。。

stop()

接下来从这些候选位置中,人工确认小颗粒

dev_set_color('green')

dev_display(Image)

dev_set_draw('margin')

dev_display(SmallConnection)

Button:=1

while(Button==1)

disp_message(WindowID,['左键选择对象,右键退出.' ], 'image',5,5,'black','true')

dev_set_color('green')

get_mbutton(WindowID, Row,Column,Button)

接受图像上面的鼠标操作,并根据鼠标输入进行下一步处理

dev_display(Image)

dev_set_color('red ')

select_region_point(SmallConnection, SmallSingle, Row, Column)

这里是根据Row和Column来Choose all regions containing a given pixel.并保存到           SmallSingle中

dev_display(SmallSingle)

count_obj(SmallSingle,NumSingle)

if(NumSingle==1)

intensity(SmallSingle,Image,MeanGray,DeviationGray)

计算输入图像Image中指定region(这里是指SmallSingle)的均值和方差

area_center(SmallSingle,Area,Row,Column)

disp_message......

endif

endwhile

dev_set_line_width(1)

dev_update_on()

总结:

例子主要运用求补集complement和图片阈值分割法dyn_threshold来筛选出小颗粒可能存在的位置,最后通过人工判断来使用鼠标控制结果。

二,算法的改进

目的主要是为了避免后期人工识别,采用面积筛选法和满水填充法对候选区域进行自动识别的尝试

未完成候补:

halcon 偏折法_halcon方法学习之blob分析相关推荐

  1. Halcon学习路线——Blob分析(1)

    Blob分析 1. 谈谈Blob分析 2. 看一张图片 3. 处理图像效果 4. Halcon代码 5. 资源下载 1. 谈谈Blob分析 Blob可以说是图像处理中最简单.最常用的方法了.虽说简单, ...

  2. halcon 偏折法_Halcon18新技术

    一.Halcon新特性介绍 分为Halcon Progress和Halcon Steady两类: Progress:发布周期短(半年),更早拿到最新技术,订阅购买模式 Steady:发布周期长(2年) ...

  3. halcon基础学习(2)—blob分析

    这段时间在学halcon,项目又紧,只能晚上回来学习学习,现在在看着视屏学点基础,其实对我来说学习软件到时很快,视屏里说学视觉还是以项目为主.以下是官方实例,原图 程序跑完之后的效果,其实就是一个典型 ...

  4. halcon 偏折法_halcon10的C#工程改为halcon17的正确方法

    勇哥手头上的C#工程要由基于halcon10视觉的改为halcon17版的视觉. 更换的原因是因为halcon17比较新比较潮,不能落伍-- 其实是因为halcon10的窗体控件以及内存泄露方面有些问 ...

  5. halcon显示坐标_HALCON深度学习工具0.4 早鸟版发布了

    HALOCN深度学习工具在整个深度学习过程中扮演着重要的作用,而且在将来将扮演更重要的辅助作用,大大加快深度学习的开发流程,目前发布版本工具的主要作用是图像数据处理和目标检测和分类中的标注. 标注训练 ...

  6. Halcon学习路线——Blob分析(2)

    Blobf分析 1. 看一个实际案例 2. 解决方案和代码 3. 资源下载 1. 看一个实际案例 这是一块电池,右侧有两个极耳,极耳相对电池的位置固定. 力神的检测部门会对电池进行抽检,他们使用的工具 ...

  7. Halcon之Blob分析

    文章目录 Blob Analysis 1.基本概念 1.1 获取图像 1.2 分割图像 1.3 提取特征 1.4 A First Example 2.扩展概念 2.1 使用感兴趣区域 2.2 对齐 R ...

  8. HALCON 21.11:深度学习笔记---对象检测, 实例分割(11)

    HALCON 21.11:深度学习笔记---对象检测, 实例分割(11) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在 ...

  9. HALCON 21.11:深度学习笔记---分类(10)

    HALCON 21.11:深度学习笔记---分类(10) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何在训练和推理阶段使用基于深度学习的分类. 基于深度学习的分类是一种对一 ...

最新文章

  1. Django入门(七)   django的缓存
  2. Ansi与Unicode及慎用W2A等
  3. linux-java
  4. Java的poi的excel导入怎么验证整型格式的单元格
  5. python socket 网络编程
  6. 中国十大名校“互撕”往事
  7. TypeScript BigInt
  8. (转)NSString+NSMutableString+NSValue+NSAraay用法汇总
  9. android的listview+BaseAdapter的例子
  10. display: flex; 的兼容问题解决办法
  11. windows微信协议|PC微信协议829版
  12. 光速不变原理引发的诡异现象与时空分量的解释
  13. 双绞线的线序568A与568B
  14. python如何添加标签_如何在python中为t-SNE添加标签(How to add labels to t-SNE in python)...
  15. RTX客户端插件开发 for Delphi XE6 (一)
  16. Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on pr
  17. excel两行数据匹配【vlookup、countif】
  18. docker容器内开启22 ssh_细述docker容器中创建SSH服务镜像
  19. signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);
  20. 图像色深(bit depth)和位深度的区别

热门文章

  1. Java各版本特性简介
  2. 团队作业3:团队项目原型设计与开发
  3. Windows 10 设置 Java 环境变量
  4. Eclipse怎么全局搜索替换(整个项目)
  5. LoadRunner 使用虚拟IP测试流程
  6. Java取得操作系统的临时目录
  7. 自定义shell脚本
  8. MySQL Connector/C++入门教程(上)
  9. 别在我的坟前哭 脏了我轮回的路
  10. 2-2-HTTP协议