Halcon 图片分割 米粒分水岭(高斯滤波,区域距离计算,分水岭处理)

news2024/12/23 13:08:14

资源:

链接:https://pan.baidu.com/s/1kmxdMk67E-7QCsG5mKnc7A
提取码:555s

图片

请添加图片描述

代码

* 1.读取并显示图片 *************************************
dev_close_window ()
read_image (Image, './img.png')
get_image_size (Image, Width, Height)
dev_open_window_fit_size (0, 0, Width, Height, -1, -1, WindowHandle)
dev_display (Image)

set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_draw ('margin')

dev_set_line_width (3)
* 2.预处理图片 *****************************************
rgb1_to_gray (Image, GrayImage)
gauss_filter (GrayImage, ImageGauss, 5)

* 3.连通域分析 *****************************************
mean_image (ImageGauss, ImageMean, 9, 9)
dyn_threshold (ImageGauss, ImageMean, RegionDynThresh, 5, 'light')
connection (RegionDynThresh, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 30, 99999)

* 4.形态学处理与分水岭处理 *****************************************
fill_up (SelectedRegions, RegionFillUp)
dilation_circle (RegionFillUp, RegionDilation, 1.5)
erosion_circle (RegionDilation, RegionErosion, 1.5)

get_image_size (ImageGauss, Width1, Height1)
* 区域距离换算
distance_transform (RegionErosion, DistanceImage, \
                    'city-block', 'true', Width1, Height1)
* 比例放大
scale_image_max (DistanceImage, ImageScaleMax)
* 图片反色
invert_image (ImageScaleMax, ImageInvert)

* 分水岭处理
watersheds_threshold (ImageInvert, Basins, 150)

* 5.二值化获取 米粒区域 ******************************************
dev_set_draw ('margin')
threshold (ImageInvert, Region, 0, 254)
connection (Region, ConnectedRegions1)
area_center (ConnectedRegions1, Area, Row, Column)


* 6.米粒区域与分水岭结果使用 ******************************************
union1 (ConnectedRegions1, RegionUnion)
sort_region (Basins, SortedRegions, 'upper_left', 'true', 'row')

count_obj (Basins, Number)
for Index := 1 to Number  by 1
    select_obj (SortedRegions, ObjectSelected, Index)
    intersection (ObjectSelected, RegionUnion, RegionIntersection)
    dev_clear_window ()
    dev_display (Image)
    dev_display (RegionIntersection)
    
*     stop()
endfor

* 7.显示粘连分割结果  **********************************************
select_obj (SortedRegions, ObjectSelected1, 15)
intersection (ObjectSelected1, RegionUnion, RegionLeft)
select_obj (SortedRegions, ObjectSelected2, 16)
intersection (ObjectSelected2, RegionUnion, RegionRight)
dev_clear_window ()
dev_display (Image)
dev_set_color ('red')
dev_display (RegionLeft)
dev_set_color ('blue')
dev_display (RegionRight)

结果

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/53833.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM垃圾回收

JVM 快速开始: 请谈谈你对JVM 的理解?java8 的虚拟机有什么更新? 什么是OOM ?什么是StackOverflowError?有哪些方法分析? JVM 的常用参数调优你知道哪些? 内存快照抓取和MAT分析DUMP文件知道…

Android databinding的接入使用与详解(一)

一、介绍 DataBinding 是Google Android组件框架,管理view和data之间进行绑定。DataBinding主要管理数个布局文件,这样我们就不用去实例化layout的view。直接通过DataBindingUitl来完成初始化。 这样可以精简代码,也减少工作量,避…

2022双十二有哪些值得入手的数码好物?值得入手的数码好物推荐

双十二快到了,不少人都会选择在这个时候入手数码产品,但又不知道有哪些值得入手。下面,我来给大家推荐几款实用性高,入手性强的数码好物,感兴趣的一起来看看吧。 一、南卡小音舱蓝牙耳机 推荐理由:蓝牙5.…

带你初识JSP(JAVA服务器页面)

文章目录前言第一个 JSP 程序什么是Java Server Pages?为什么使用JSP?JSP的优势配置Java开发工具(JDK)设置Web服务器:Tomcat设置 CLASSPATH 环境变量JSP 结构JSP 处理JSP 生命周期JSP编译JSP初始化JSP执行JSP清理前言 JSP 与 PH…

ABAP CLEAR REFRESH FREE 说明(刘欣)

本文仔细测试总结了ABAP中的clear、refresh、free,因为很多时候程序的BUG就是出现在变量没有清理干净,希望整理一个定式出来以后少出BUG。 用clear、refresh、free对带表头的表执行的测试结果如下表: 看起来,最好的避免这些清空命…

Oracle11g安装

参考教程 Oracle11g安装配置详细教程 oracle11g安装步骤详细图文教程 但是这里的用户名如果是以system的话,密码错误 Oracle默认账号密码: (1)普通用户: SCOTT (密码:tiger) &…

Day17--购物车页面-商品列表-封装NumberBox

提纲挈领: 官方文档提供了uni-number-box组件 文档内容: 我的操作: 1》修改 my-goods.vue 组件的源代码,在类名为 goods-info-box 的 view 组件内部渲染 NumberBox 组件的基本结构: 2》美化其样式 *****************…

基于最小均方误差linear minimum mean square error(LMMSE)插值算法的图像超分辨重构研究-附Matlab代码

⭕⭕ 目 录 ⭕⭕✳️ 一、引言✳️ 二、图像复原基本原理✳️ 三、基于多通道LMMSE图像复原法✳️ 3.1 最小均方误差LMMSE插值理论✳️ 3.2 理论公式对应的Matlab关键代码✳️ 四、实验验证✳️ 五、参考文献✳️ 六、Matlab程序获取与验证✳️ 一、引言 图像是一种表达信息的…

进程与线程的相爱相杀

✨✨hello,愿意点进来的小伙伴们,你们好呐! 🐻🐻系列专栏:【JavaEE初阶】 🐲🐲本篇内容:详解进程与线程 🐯🐯作者简介:一名现大二的三非编程小白&…

Linux文件系统

Linux文件系统 文章目录Linux文件系统1.对文件系统的理解1.1 文件系统当中的缓冲区1.2 文件系统当中的inode1.3 文件属性与文件数据分开存放原理2.对软硬链接的理解扩展:对文件三时间的理解1.对文件系统的理解 1.1 文件系统当中的缓冲区 我们来看看下面这段代码&a…

基于K8s构建Jenkins持续集成平台(部署流程)(转了一点)

转载至:https://blog.csdn.net/m0_59430185/article/details/123394853 一、传统Jenkins的Master-Slave方案的缺陷 Master节点发生单点故障时,整个流程都不可用了 每个 Slave节点的配置环境不一样,来完成不同语言的编译打包等操作&#xff0…

【Uni-App】点击分享,生成海报带二维码,保存到本地图片

目录一:需求二:分析三:准备工作1.qrcode准备2.并且在main.js去挂载四:页面构建1.html2.data3.js一:需求 1.产品需要这个商品,必须分享才有购买资格 2.一共三点,有海报,有二维码&…

k8s安装3节点集群Fate v1.8.0

集群配置信息 3节点配置信息如下图: 当kubefate最新版是1.9.0时,依赖的k8s和ingress-ngnix版本如下: Recommended version of dependent software: Kubernetes: v1.23.5 Ingress-nginx: v1.1.3 升级K8S到1.23.5 参考博客 https://blog.c…

HarmonyOS应用API手势方法-SwipeGesture

描述:用于触发滑动事件,滑动最小速度为100vp/s时识别成功。 Api:从API Version 8开始支持 接口:SwipeGesture(value?: { fingers?: number; direction?: SwipeDirection; speed?: number }) 参数: SwipeDirecti…

代码随想录刷题记录 day32无重叠区间 划分字母区间 合并区间

代码随想录刷题记录 day32无重叠区间 划分字母区间 合并区间 435. 无重叠区间 思想 其实要换个角度想,存放下尽可能多的区间,就是移除的最少的区间。可以按照左右边界进行排序。 1.如果按照右边界进行排序,从左往右遍历,选择右…

数字化门店转型| 舞蹈室管理系统| 门店小程序开发教程

很多拥有跳舞天赋的孩子从小家长就送到专业的舞蹈培训机构进行训练,即使成年也可以学,近些年来各种偶像节目繁多,也使得舞蹈行业市场规模增加,同时各个城市的舞蹈工作室也在逐年增加,线上各种宣传信息也比较多。 同时&…

【重磅】2022年CCF推荐期刊目录 (拟定版) 已发布~

重磅!CCF推荐国际学术会议和期刊目录-2022(拟定版)已发布,一起看看有哪些新调整吧: MICCAI 首次被收录,空降B类会议; PRCV 首次被收录,空降C类会议; NAACL 从C类升级到B类会议; …

java语言【#87. 矩形的面积与周长】(已通过)

题目描述 ​ 对于一个给定长和宽的矩形,输出它的周长和面积。 输入 ​ 一行两个小数 a 和 b 表示矩形的长和宽。(0.0≤a,b≤100.0) 输出 ​ 第一行是矩形的周长 ​ 第二行是矩形的面积 ​ 结果保留两位小数 样例输入 3.1 4.1样例输出 1…

源码决定Offer薪资?这份阿里爆火“Spring源码高级手册” 成功跳槽涨薪19K

就在上周我上一家的同事兼好友去面试 Java 后端岗,一面过了,二面之后就没消息了,他跟我说二面问了一大堆关于Spring等框架源码底层的问题 为什么说掌握源码决定Offer薪资? 和大多数人一样,我这位好友毕业的时候很单纯…

[附源码]JAVA毕业设计火炬中学校刊在线投稿审稿系统(系统+LW)

[附源码]JAVA毕业设计火炬中学校刊在线投稿审稿系统(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)…