Halcon区域的面积和中心点area_center

Halcon区域的面积和中心点

提到区域的特征,最常用的莫过于区域的面积和中心点坐标信息。实际工作中,经常会使用面积或中心点进行特征的选择和定位。Halcon中的area_center算子就是用于实现这一功能的,该算子一次返回以下两个结果。

(1)面积:指的是单个区域(输入区域可能不止一个)中包含的灰度像素数量。

(2)中心:指的是几何中心点坐标,即单个区域的中心点行坐标均值和列坐标均值。

以一个例子说明,图(a)为输入的图像;图(b)为阈值分割后的图像,其中较亮部分为提取的区域,这些区域将作为area_center 算子的输入;图(c)为求面积与形状中心坐标的结果。其中文字标注的是对应区域的面积,文字的位置为中心位置设置行方向偏移后的位置。

上述过程的代码如下:

bash 复制代码
dev_close_window ()
*读取图片
read_image (Image,' data/holes')
*设置窗口属性,为了获取窗口句柄,供后面显示文字用
get_image_size (Image, Width, Height)
*创建新窗口
dev_open_window (0, 0, Width, Height, 'black', WindowID)
*将图像转化为单通道灰度图
rgbl_to_gray (Image, GrayImage)
*创建矩形选区,选择感兴趣区域
gen_rectanglel (Rectangle, 180, 83, 371, 522)
reduce_domain (GrayImage, Rectangle, ROI)
*阈值处理,提取图中深色部分,即文字部分。这里阈值设置为50,基本可以提取出所有黑色文字
threshold ( ROI, Region, 0, 80)
*gen_image_proto (ImageReduced, Imagecleared, 0)
*dev_display (Region)
*将提取的整个区域中不相连的部分分割成独立的区域
connection (Region, ConnectedRegions)
*获取不相连的区域的数量
count_obj (ConnectedRegions, Num)
*计算所有不相连区域的面积和中心点坐标。Area 为面积,Row和Column为中心点坐标
area_center (ConnectedRegions, Area, Row, Column)
*输出各区域的面积
for i :=1 to Num by 1
   dev_set_color ('red')
   select_obj (ConnectedRegions, ObjectSelected, i)
   *设定输出文字的起始坐标点
   set_tposition (WindowID, Row[i - 1]+40, Columnfi - 1])
   *设置输出文字的颜色
   dev _set _color ('blue')
   *设置字体
   set_font (WindowID, '-System-32-*-*-0-0-0-1-GB2312_CHARSET-')
   *输出文字内容,即该区域的面积
   write_string (WindowID, Area[i-1])
endfor

该代码实现了将输入图像中的较暗的孔洞区域提取出来,计算各个独立区域的面积和中心坐

标,并输出各区域的面积。

相关推荐
东方佑5 小时前
从音频到Token:构建原神角色语音识别模型的完整实践
人工智能·音视频·语音识别
dlraba8026 小时前
基于 OpenCV 与 SIFT 算法的指纹识别系统实现:从匹配到可视化
人工智能·opencv·计算机视觉
shizidushu6 小时前
Hugging Face NLP课程学习记录 - 3. 微调一个预训练模型
人工智能·学习·自然语言处理·微调·huggingface
格林威6 小时前
机器视觉在半导体制造中有哪些检测应用
人工智能·数码相机·yolo·计算机视觉·视觉检测·制造·相机
月岛雫-6 小时前
“单标签/多标签” vs “二分类/多分类”
人工智能·分类·数据挖掘
云卓SKYDROID6 小时前
无人机飞行速度模块技术要点概述
人工智能·无人机·飞行速度·高科技·云卓科技
币须赢7 小时前
英伟达Thor芯片套件9月发货 “物理AI”有哪些?
大数据·人工智能
格林威7 小时前
机器视觉检测如何使用360 度全景成像镜头进行AI 瑕疵检测
人工智能·深度学习·数码相机·机器学习·计算机视觉·视觉检测·相机
互联网之声7 小时前
崔传波教授:以科技与人文之光,点亮近视患者的清晰视界‌
人工智能