Halcon实战:精准定位与提取:基于形态学处理的猴子眼睛区域检测完整方案

在机器视觉与图像处理领域,区域定位与特征提取是许多应用中的核心任务。本文将以一张猴子图像为例,详细介绍如何使用 Halcon 软件实现对其眼睛区域的精准定位与提取。我们将通过一系列图像处理操作,逐步拆解处理流程,帮助大家理解每一步的作用与意义。

一、图像读取与灰度化

首先,我们读取原始彩色图像,并将其转换为灰度图像。这样做可以减少后续处理的复杂度,同时保留足够的结构信息。

复制代码
read_image (Image, 'D:/Machine_vision_images_and_programs/monkey.jpg')
rgb1_to_gray (Image, GrayImage)
二、阀值分割(二值化与区域粗选)

我们通过设定灰度阈值(50~110)对图像进行二值化,初步提取出可能包含眼睛的区域。这一步是"粗选",目的是将目标区域从背景中分离出来。

复制代码
threshold (GrayImage, Region, 50, 110)
三、区域填充与连通域分析

由于二值化后的区域可能存在空洞,我们使用 fill_up 进行填充,确保区域完整。接着通过 connection 操作将图像中不连续的区域分离为多个连通域,便于后续筛选。

复制代码
fill_up (Region, RegionFillUp)
connection (RegionFillUp, ConnectedRegions)
四、形状筛选

我们根据区域的面积特征进行筛选,只保留面积在 1950~2000 像素之间的区域。这一步能够有效排除不符合条件的干扰区域。

复制代码
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 1950, 2000)
五、形态学去噪

为了进一步去除微小噪声或边缘毛刺,我们使用圆形结构元素进行腐蚀与膨胀操作。这一对操作能够平滑区域边界,并去除不规则的细小区域。

复制代码
erosion_circle (SelectedRegions, RegionErosion, 3.5)
dilation_circle (RegionErosion, RegionDilation, 3.5)
六、区域合并

最后,我们将所有处理后的区域合并为一个整体区域,便于后续分析或输出。

复制代码
union1 (RegionDilation, RegionUnion)

本方案通过"灰度化 → 二值化 → 填充 → 连通域分析 → 形状筛选 → 形态学去噪 → 区域合并"这一完整流程,实现了对猴子眼睛区域的精准提取。该方法具有较强的可扩展性,适用于其他类似场景中的区域定位任务。

以下创建封装函数:

以下是在封装函数内求猴子眼睛的面积:

相关推荐
向量引擎8 小时前
向量引擎接入 GPT Image 2 和 deepseek v4:一个 api key 把热门模型串起来,开发者终于不用深夜修接口了
人工智能·gpt·计算机视觉·aigc·api·ai编程·key
格林威10 小时前
工业视觉项目:如何与客户有效沟通验收标准?
人工智能·数码相机·计算机视觉·视觉检测·机器视觉·工业相机·视觉项目
格林威19 小时前
工业视觉检测:提供可视化UI调试工具的实现方式是什么?
开发语言·人工智能·数码相机·ui·计算机视觉·视觉检测·工业相机
xinxiangwangzhi_20 小时前
立体匹配--Fast-FoundationStereo
计算机视觉
良木生香20 小时前
【C++初阶】STL——Vector从入门到应用完全指南(1)
开发语言·c++·神经网络·算法·计算机视觉·自然语言处理·数据挖掘
山居秋暝LS20 小时前
安装yolo26【无标题】
yolo·计算机视觉
sali-tec21 小时前
C# 基于OpenCv的视觉工作流-章58-相机标定
图像处理·人工智能·数码相机·opencv·算法·计算机视觉
张人玉1 天前
机器视觉VsionPro——多目标检测高级用法动态
目标检测·计算机视觉·机器视觉·vsionpro
有为少年2 天前
从概率估计到“LLM 训练是有损压缩”
人工智能·线性代数·机器学习·计算机视觉·矩阵
爱吃巧克力的程序媛2 天前
计算机图形学---在OpenGL中,什么是归一化 UV 坐标?
人工智能·计算机视觉·uv