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

图像处理函数与形态学操作笔记(含 Halcon 示例)

一、区域筛选与特征提取函数

1. 区域筛选函数

  • select_shape()

    功能:根据区域的形状特征(如面积、圆形度、凸度、长宽比等)筛选符合条件的区域。

    Halcon 示例:

    read_image (Image, 'pcb.jpg') // 读取电路板图像 threshold (Image, Regions, 100, 200) // 二值化得到初始区域 connection (Regions, ConnectedRegions) // 分割为独立区域 // 筛选出面积在50-500之间、圆形度>0.7的区域(如合格焊点) select_shape (ConnectedRegions, SelectedRegions, ['area','circularity'], 'and', [50,0.7], [500,1.0])
  • select_gray()

    功能:根据区域内的灰度值范围筛选区域(如平均灰度、最大 / 最小灰度等)。

    Halcon 示例:

    read_image (Image, 'medical.png') // 读取医学影像 threshold (Image, Regions, 50, 255) // 初步分割区域 connection (Regions, ConnectedRegions) // 筛选出平均灰度>180的区域(如高密度钙化区域) select_gray (ConnectedRegions, Image, SelectedRegions, 'mean', 'and', 180, 255)

2. 几何特征提取函数

  • smallest_rectangle2()

    功能:计算区域的最小外接矩形(支持旋转,返回中心坐标、宽、高、旋转角度)。

    Halcon 示例:

    read_image (Image, 'tilted_part.jpg') // 读取倾斜零件图像 threshold (Image, Region, 128, 255) // 计算最小外接矩形参数(Row中心、Col中心、Phi角度、Length1半宽、Length2半高) smallest_rectangle2 (Region, Row, Column, Phi, Length1, Length2) // 绘制外接矩形 gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2) dev_display (Image) dev_display (Rectangle)
  • area_center_gray()

    功能:计算区域的面积(像素数)和灰度中心(灰度加权的几何中心)。

    Halcon 示例:

    read_image (Image, 'cells.png') // 读取细胞图像 threshold (Image, Cells, 80, 200) connection (Cells, SingleCells) // 计算每个细胞区域的面积和灰度中心 area_center_gray (SingleCells, Image, Area, RowGray, ColGray) // 打印结果(如第1个细胞的面积和中心) tuple_get (Area, 0, CellArea) tuple_get (RowGray, 0, CellRow) tuple_get (ColGray, 0, CellCol)

3. 灰度特征提取函数

函数名功能Halcon 示例
gray_feature()提取区域中最小灰度值hdevelop<br>gray_feature (Region, Image, 'min', MinGray) // MinGray为最小灰度值
gray_features提取区域中最大灰度值hdevelop<br>gray_features (Region, Image, 'max', MaxGray) // MaxGray为最大灰度值
min_max_gray()同时提取最大与最小灰度值hdevelop<br>min_max_gray (Region, Image, 0, Min, Max, Range) // Range=Max-Min
intensity()提取灰度平均值与偏差hdevelop<br>intensity (Region, Image, Mean, Deviation) // Mean平均值,Deviation偏差

二、形态学操作(Halcon 实现)

核心特性

  • 适用对象:二值图像(gen_*函数)或灰度图像(gray_*函数)

  • 作用:提取形状特征、去噪、分离物体、填充孔洞等

1. 顶帽操作(gray_tophat)

  • 计算公式:

    原始图像 - 开运算结果 = 顶帽图像

    (开运算:先腐蚀后膨胀,去除小的亮区域)

  • 功能:突出图像中 “小的、亮的区域”(如暗背景中的小亮斑)。

  • Halcon 示例:

    read_image (Image, 'starry_sky.jpg') // 暗背景星空图像 // 定义结构元素(圆形,半径5) gen_circle (SE, 10, 10, 5) // 灰度顶帽操作,提取小亮点(星星) gray_tophat (Image, SE, Tophat) dev_display (Tophat) // 显示提取的亮斑

2. 低帽操作(gray_bothat)

  • 计算公式:

    闭运算结果 - 原始图像 = 低帽图像

    (闭运算:先膨胀后腐蚀,填充小的暗区域)

  • 功能:突出图像中 “小的、暗的区域”(如亮背景中的小暗点)。

  • Halcon 示例:

    read_image (Image, 'white_paper.jpg') // 白纸含小黑点图像 gen_circle (SE, 10, 10, 3) // 小结构元素 // 灰度低帽操作,提取小黑点杂质 gray_bothat (Image, SE, Bothat) dev_display (Bothat) // 显示提取的暗点

以上函数和操作是 Halcon 中图像分析的基础工具,通过组合使用可实现目标检测、缺陷识别、特征测量等复杂任务。

http://www.cnnetsun.cn/news/98080.html

相关文章:

  • 基于VUE的企业咨询管理系统 [VUE]-计算机毕业设计源码+LW文档
  • 具身智能:零基础入门睿尔曼机械臂(五)—— 手眼标定核心原理与数学求解
  • C++元编程完全指南
  • 3分钟搞定Windows Syslog服务器:从零搭建日志监控系统
  • autofit.js 大屏自适应终极方案:简单配置实现完美布局
  • 【Java抽象类和接口】
  • 全新一代H5免签封装神器:一键生成苹果绿标/安卓双端APP,可在线热更新,彻底隐藏顶部地址栏!
  • 绝区零辅助工具终极指南:10分钟快速上手完整教程
  • JavaScript解密神器:JStillery让你的代码分析变得如此简单
  • Mem Reduct终极指南:简单三步解决电脑内存不足问题
  • 【单片机毕业设计】【mcugc-mcu922】基于单片机的智能窗帘控制系统
  • 开发过程中动态 SQL 中where 1=1的作用是什么
  • 洛谷 P1551 亲戚
  • d2s-editor终极指南:暗黑破坏神2存档修改完全教程
  • UniExtract2深度评测:万能文件提取工具的技术解析与实战应用
  • MySQL主从数据同步实战
  • 破局Java开发困境!飞算科技JavaAI引领智能化开发新革命
  • 21、Yocto项目应用开发全解析
  • HS2-HF_Patch:解锁HoneySelect2完整游戏体验的智能解决方案
  • Obsidian Style Settings 插件终极使用指南:快速掌握个性化定制技巧
  • Jellyfin插件MetaShark中TMDB刮削缓慢问题的深度排查与优化方案
  • 移动端AI绘图新突破:用TensorFlow Lite搞定denoising-diffusion实战指南
  • 抖音下载神器:揭秘批量保存直播回放的技术工具
  • 抖音直播下载终极指南:一键保存精彩回放
  • Motrix扩展:3步实现浏览器下载效率300%提升
  • Motrix浏览器扩展终极指南:解锁专业下载管理新境界
  • 解锁B站缓存新姿势:m4s-converter视频转换完全指南
  • LobeChat自动伸缩策略:根据GPU负载动态调整实例数量
  • 团队成长阶段的管理重点
  • 贪心算法:像“贪吃蛇”一样,永远只吃眼前的苹果?