Halcon区域的面积和中心点area_center

Halcon区域的面积和中心点

提到区域的特征,最常用的莫过于区域的面积和中心点坐标信息。实际工作中,经常会使用面积或中心点进行特征的选择和定位。Halcon中的area_center算子就是用于实现这一功能的,该算子一次返回以下两个结果。
(1)面积:指的是单个区域(输入区域可能不止一个)中包含的灰度像素数量。
(2)中心:指的是几何中心点坐标,即单个区域的中心点行坐标均值和列坐标均值。
以一个例子说明,图(a)为输入的图像;图(b)为阈值分割后的图像,其中较亮部分为提取的区域,这些区域将作为area_center 算子的输入;图(c)为求面积与形状中心坐标的结果。其中文字标注的是对应区域的面积,文字的位置为中心位置设置行方向偏移后的位置。
在这里插入图片描述
上述过程的代码如下:

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 1dev_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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成式AI:软件工程的未来伙伴

随着技术不断进步,软件工程正在经历一场革命性的变革。从最初的穿孔卡片和汇编语言编程,到现代集成开发环境和高级编程语言,软件工程已经走过了一条漫长的路。现在,生成式人工智能(AI)正打开新的篇章,不仅对传统的编码…

【算法挨揍日记】day40——712. 两个字符串的最小ASCII删除和、718. 最长重复子数组

712. 两个字符串的最小ASCII删除和 712. 两个字符串的最小ASCII删除和 题目描述: 给定两个字符串s1 和 s2,返回 使两个字符串相等所需删除字符的 ASCII 值的最小和 。 解题思路: 算法思路: 正难则反:求两个字符串的…

2023年兔飞猛进,2024年龙码精神,龙举云兴

一、2023年回顾 从中华传统文化的角度来看,2023年,是一个比较特别的年份。 2023年是癸卯年,这是根据“天干地支”排列而来。2023年是黑兔年,这是一是根据十天支与五行的对应关系:壬癸属水、代表黑色,二是…

进阶学习——Linux系统——程序和进程

目录 一、程序和进程的关系 1.程序 2.进程 2.1线程 2.2协程 3.进程与线程的区别 4.总结 4.1延伸 5.进程使用内存的问题 5.1内存泄漏——Memory Leak 5.2内存溢出——Memory Overflow 5.3内存不足——OOM(out of memory) 5.4进程使用内存出现…

Numpy基础

目录: 一、简介:二、array数组ndarray:1.array( )创建数组:2.数组赋值和引用的区别:3.arange( )创建区间数组:4.linspace( )创建等差数列:5.logspace( )创建等比数列:6.zeros( )创建全0数组&…

数据库02-06 形式化SQL查询基础

01. 03. 04. 05. 06. 08. 09. 10. 11. 12. 13.

《作家天地》期刊投稿邮箱投稿方式

《作家天地》是国家新闻出版总署批准的正规文学刊物。对各种流派的作品兼收并蓄,力求题材、形式、风格多样化,适用于发表高品质文学学术作品,科研机构的专家学者以及高等院校的师生等。具有原创性的学术理论、工作实践、科研成果和科研课题及…

新手学习易语言中文编程,易语言从入门到精通教学

一、教程描述 本套教程共有100集,并且有大量的课件资料,可能是截止到目前为止,最为全面系统的易语言教程了,其中有些视频是.exe文件,可以下载到本地播放。本套易语言教程,大小14.59G,共有6个压…

Python爬虫实战技巧:如何在爬取过程中动态切换代理IP

目录 前言 第一步:获取代理IP列表 第二步:测试代理IP的可用性 第三步:动态切换代理IP 总结 前言 在进行爬虫开发的过程中,有时候需要使用代理IP来访问目标网站,以避免被封IP或者降低访问频率的限制。本文将介绍如…

集logo生成、图片压缩、裁剪、二维码生成于一体的图片处理工具

今天给大家介绍一款在线图片处理工具,界面简洁、无广告,能进行图片裁剪、压缩、生成二维码,以及处理图片等基础功能。 也可以生成新的图片,包括文字logo等。 地址:画图呀 一、图片裁剪 二、图片压缩 三、生成二维码…

奇技淫巧:如何给项目中的RabbitMQ添加总开关

本文主要分享了如何给项目中的RabbitMQ添加总开关,通过简单配置开/关RabbitMQ。 一、需求背景 SpringBoot项目里使用了RabbitMQ,但某些场景下,不希望项目启动时自动检查RabbitMQ连接 例如: 在开发不需要RabbitMQ的功能过程中&…

LLM 中的长文本问题

近期,随着大模型技术的发展,长文本问题逐渐成为热门且关键的问题,不妨简单梳理一下近期出现的典型的长文本模型: 10 月上旬,Moonshot AI 的 Kimi Chat 问世,这是首个支持 20 万汉字输入的智能助手产品; 10 月下旬,百川智能发布 Baichuan2-192K 长窗口大模型,相当于一次…