当前位置: 首页 > news >正文

全局Threshold和动态阈值分割Dyn_Threshold的应用场景

手册里面的particle例子,例子的任务是分析颗粒在液体中。在这个应用程序的主要困难:存在两种类型的对象:大明亮物体和较低的小物体的对比。此外噪音使分割的存在困难;无法使用全局灰度阈值threshold进行分割;所以采用先将大块不需要检测的部分去除掉,再通过灰度动态阈值dyn_threshold分割图像得到想要的内容。
处理图片和结果图片:

 

 
以下是代码:
 
 

 
 
read_image (Image, 'particle')  
*获取图像  
  
dev_display (Image)  
*显示图像  
  
threshold (Image, Large, 110, 255)  
*灰度阈值分割图像  
  
dilation_circle (Large, LargeDilation, 7.5)  
*圆角膨胀  
  
dev_display (Image)  
dev_set_draw ('margin')  
dev_set_line_width (3)  
dev_set_color ('red')  
dev_display (LargeDilation)  
dev_set_draw ('fill')  
*显示图像  
  
complement (LargeDilation, NotLarge)  
*返回补充图像,即获得去除大斑点后的图像NotLarge  
  
reduce_domain (Image, NotLarge, ParticlesRed)  
*减去除了NotLarge图像,即去除大斑点后的图像,减少运算  
  
mean_image (ParticlesRed, Mean, 31, 31)  
*平滑处理图像  
  
dyn_threshold (ParticlesRed, Mean, SmallRaw, 3, 'light')  
*选择灰度阈值;
网友详解:当前背景之间差异明显时,可以设定全局阈值进行threshold但很多情况下由于背景不均一,
*目标体经常表现为比背景局部亮一些或暗一些,无法确定全局阈值操作,需要通过其邻域找到一个合适的阈值进 *行分割dyn_threshold。ThresholdImage是参考图像,通过与OrigImage对比找到领域确定阈值,一般采用平滑滤波算子 *(如mean_image)获取参考图像。offset设定邻域比较的区间范围,灰度值变化在offset范围内均是可以接受的。 opening_circle (SmallRaw, Small, 2.5) *消除小区域(小于圆形结构元素)和光滑的边界地区 connection (Small, SmallConnection) *显示联通区域 dev_display (Image) *这句不加窗口显示效果会有雪花 dev_set_colored (12) dev_display (SmallConnection)

 

*显示结果图像 
下图是只用threshold时候的实验效果,无法分割出小斑点:

 

转载于:https://www.cnblogs.com/bile/p/10517441.html

相关文章:

  • Streaming源码解读 mapWithState-2
  • 你真的知道 == 和 equals 的区别吗?
  • 关于错误提示:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决方案...
  • 【c++进阶:c++ algorithm的常用函数】
  • (转) RFS+AutoItLibrary测试web对话框
  • 刚刚接触python的感想
  • linux下使用hiredis异步API实现sub/pub消息订阅和发布的功能
  • 第70届(2019)IMO中国国家队选拔考试试题
  • xml编码格式在tomcat下运行出错,eclipse里面直接运行没有问题
  • 微服务架构 SpringCloud(二)Eureka(服务注册和服务发现基础篇)
  • Android图片缓存之Glide进阶
  • css(二):高度与文档流,line-box与box,宽度,position与
  • SQL Server2005作业执行失败的解决办法
  • 进度条14
  • 阿里云RDS PostgreSQL GPU加速规格(支持GIS时空加速)发布
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • Angular4 模板式表单用法以及验证
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • javascript数组去重/查找/插入/删除
  • Java方法详解
  • JSONP原理
  • Selenium实战教程系列(二)---元素定位
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • windows下使用nginx调试简介
  • 关于Java中分层中遇到的一些问题
  • 记一次删除Git记录中的大文件的过程
  • 思否第一天
  • 新手搭建网站的主要流程
  • 责任链模式的两种实现
  • ionic异常记录
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 从如何停掉 Promise 链说起
  • 国内开源镜像站点
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十八)三元表达式和列表解析
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转载)从 Java 代码到 Java 堆
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • ./configure,make,make install的作用(转)
  • .NET BackgroundWorker
  • .NET Core使用NPOI导出复杂,美观的Excel详解