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

Halcon 分割之区域生长法

      区域生长法也称为区域生成法,其基本思想是将一幅图像分成许多小的区域,并将具有相似性质的像素集合起来构成区域。具体来说,就是先在需要分割的区域内找一个种子像素作为生长的起始点,然后将种子像素周围邻域中与种子像素有相同或相似性质的像素(根据某种事先确定的生长或相似准则来判断)合并到种子像素所在的区域中;最后将这些新像素作为新的种子像素继续进行上述操作,直到没有满足条件的像素可被合并进来为止,图像分割随之完成。区域生长法的实质就是把具有某种相似性质的像素连通起来,从而构成最终的分割区域。该方法利用了图像的局部空间信息,可有效克服其他方法存在的图像分割空间不连续的缺点。
    

案例分析

目标:提取目标区域脊柱

难点:受光线影响会形成阴影,部分区域过曝

案例代码

初步提取目标定位

dev_set_draw ('margin')
read_image (Image, 'E:/Halcon数据/资源图片/左.bmp')
median_image (Image, ImageMedian, 'circle', 35, 'mirrored')
regiongrowing (ImageMedian, Regions, 10, 10, 12, 100)
select_shape (Regions, SelectedRegions,[ 'area','circularity'], 'and', [50000,0.8], [90000,1])

进一步优化

smallest_circle (SelectedRegions, Row, Column, Radius)
gen_circle_contour_xld (ContCircle, Row, Column, Radius+40, 0, 6.28318, 'positive', 1)
gen_region_contour_xld (ContCircle, Region, 'filled')
reduce_domain (Image, Region, ImageReduced)
rgb1_to_gray (ImageReduced, GrayImage)
gray_opening_shape (GrayImage, ImageOpening, 11, 11, 'octagon')
min_max_gray (Region, ImageOpening, 0, Min, Max, Range)
scale_image_max (ImageOpening, ImageScaleMax)
threshold (ImageScaleMax, Region1, 100, 255)
connection (Region1, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions1,[ 'area','circularity'], 'and', [70000,0.8], [110000,1])


http://www.kler.cn/a/403035.html

相关文章:

  • 科研深度学习:如何精选GPU以优化服务器性能
  • 「Mac玩转仓颉内测版23」基础篇3 - 深入理解整数类型
  • ChatClient:探索与AI模型通信的Fluent API
  • 【代码pycharm】动手学深度学习v2-04 数据操作 + 数据预处理
  • cocos creator 3.8 Node学习 3
  • VUE:基于MVVN的前端js框架
  • 拓展Git相关知识(⭐版控工具⭐)
  • 量化交易系统开发-实时行情自动化交易-3.4.3.3.期货市场深度数据
  • Golang语言整合jwt+gin框架实现token
  • 学习threejs,对模型多个动画切换展示
  • Matlab多输入单输出之倾斜手写数字识别
  • os库的常见使用
  • 星融元与焱融科技AI分布式存储软硬件完成兼容性互认证
  • 13.C++内存管理2(C++ new和delete的使用和原理详解,内存泄漏问题)
  • 数据结构(双向链表——c语言实现)
  • Restful API 规范详解
  • 单片机学习笔记 2. LED灯闪烁
  • c++--------《set 和 map》
  • C++手写PCD文件
  • 使用Kotlin写一个将字符串加密成short数组,然后可以解密还原成原始的字符串的功能
  • 前端页面自适应等比例缩放 Flexible+rem方案
  • 小程序-基于java+SpringBoot+Vue的超市购物系统设计与实现
  • 【React 进阶】掌握 React18 全部 Hooks
  • 鸿蒙原生应用开发元服务 元服务是什么?和App的关系?(保姆级步骤)
  • 详解八大排序(一)------(插入排序,选择排序,冒泡排序,希尔排序)
  • Linux驱动开发第2步_“物理内存”和“虚拟内存”的映射