Halcon Solution Guide I basics(3): Region Of Interest(有兴趣区域/找重点)

news2025/1/18 16:52:24

文章目录

  • 文章专栏
  • 前言
  • 文章解读
    • 前言
    • 创建ROI
    • 案例1:直接截取ROI
      • 手动截取ROI
  • 总结
    • ROI套路
      • 获取窗口句柄
      • 截取ROI区域
      • 获取有效区域
    • Stop组合

文章专栏

Halcon开发

Halcon学习 练习项目gitee仓库

CSDN Major 博主Halcon文章推荐

前言

今天来看第三章内容,既然是零基础,而且我还有大概3-4个月的时间准备,我还是老老实实从头开始学机器视觉好了。

文章解读

下面我将 Region Of Interest 命名为[找重点]

前言

  • [找重点]可以减少无效信息和
  • [找重点]经常用于找用于模板匹配的区域
    在这里插入图片描述

创建ROI

  • Halcon提供了一个[reduce_domain]的方法去获取图片域的ROI信息。
    在这里插入图片描述

案例1:直接截取ROI

在这里插入图片描述

*读取图片文件
read_image (Image, 'mreut')
*得到一个坐标为(256,256),半径为200的圆
gen_circle (ROI, 256, 256, 200)
*截取这个圆内的图像信息
reduce_domain (Image, ROI, ImageReduced)
*找到亚像素精度的图片信息
edges_sub_pix (ImageReduced, Edges, 'lanser2', 0.5, 20, 40)
*显示Image/ROI/Edges
dev_display (Image)
dev_display (ROI)
dev_display (Edges)

效果
在这里插入图片描述

手动截取ROI

在这里插入图片描述
在这里插入图片描述

* critical_points.hdev: locate saddle point markers in an image
* 
dev_update_window ('off')
* ****
* 获取图片信息
* ****
*加载图片
read_image (Image, 'landmarks')
*获取图片大小
get_image_size (Image, Width, Height)
*设置线段等基本参数
dev_close_window ()
*打开图片长宽的窗口,拿到WindowHandle的句柄
*dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
*我更推荐使用自适应图片大小的窗体这个算子
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
dev_set_part (0, 0, Height - 1, Width - 1)
dev_set_line_width (3)
dev_set_color ('blue')
dev_set_draw ('margin')
dev_display (Image)
set_display_font (WindowHandle, 20, 'mono', 'true', 'false')
* ****
* 截取ROI
* ****
disp_message (WindowHandle, '使用鼠标左键截取图片区域,右键退出', 'window', 12, 12, 'blue', 'false')
dev_set_color ('white')
*--获取绘画的Region区域
draw_region (Region, WindowHandle)
dev_display (Region)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
* ****
* step: create ROI
* ****
* 使用reduce_domain算子,设置图片的ROI
reduce_domain (Image, Region, ImageReduced)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
* ****
* step: process image within ROI
* ****
critical_points_sub_pix (ImageReduced, 'facet', 1.5, 8, RowMin, ColumnMin, RowMax, ColumnMax, RowSaddle, ColSaddle)

*清空整个窗口
dev_clear_window ()
*只显示ROI部分内容
dev_display (ImageReduced)
dev_set_color ('yellow')
for i := 0 to |RowSaddle| - 1 by 1
    gen_cross_contour_xld (Cross, RowSaddle[i], ColSaddle[i], 25, 0.785398)
    dev_display (Cross)
endfor
stop ()
dev_update_window ('on')

运行结果
在这里插入图片描述

总结

ROI就是个截取部分区域的功能。有主动设置区域和被动设置区域两种方法。

ROI套路

获取窗口句柄

*打开图片长宽的窗口,拿到WindowHandle的句柄
*dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
*我更推荐使用自适应图片大小的窗体这个算子
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)

截取ROI区域

* 参数设置ROI区域
gen_circle (ROI, 256, 256, 200)
* 使用WindowHandle窗口句柄,鼠标截取ROI区域
draw_region (ROI, WindowHandle)

获取有效区域

* 使用reduce_domain句柄,获取ROI区域信息
reduce_domain (Image, ROI, ImageReduced)

* 可以使用其它算子去解析ROI的ImageReduce区域。
critical_points_sub_pix (ImageReduced, 'facet', 1.5, 8, RowMin, ColumnMin, RowMax, ColumnMax, RowSaddle, ColSaddle)

*--如果想凸显ROI区域,可以进行如下操作
*清空整个窗口
dev_clear_window ()
*只显示ROI部分内容
dev_display (ImageReduced)

在这里插入图片描述

Stop组合

* 使用disp_continue_message和stop组合显示F5继续程序的提示
disp_continue_message (WindowHandle, 'black', 'true')
stop ()

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Golang 中的良好代码与糟糕代码

最近,有人要求我详细解释在 Golang 中什么是好的代码和坏的代码。我觉得这个练习非常有趣。实际上,足够有趣以至于我写了一篇关于这个话题的文章。为了说明我的回答,我选择了我在空中交通管理(ATM)领域遇到的一个具体用…

依赖库:Ceres-solver-2.0.0安装

依赖库:Ceres-solver-2.0.0安装 前言安装ceres-solver-2.0.0验证 前言 Ceres Solver是谷歌开源的C非线性优化库,能够解决有约束或无约束条件下的非线性最小二乘问题。2010年之后大量的运用在谷歌的产品开发中,尤其在谷歌开源的cartographer中…

详解StringBuilder和StringBuffer(区别,使用方法,含源码讲解)

目录 一.为什么要使用StringBuilder和StringBuffer 字符串的不可变性 性能损耗 二.StringBuilder和StringBuffer StringBuffer源码讲解 使用方式 三.常用方法总结 示例: 四.StringBuilder和StringBuffer的区别 一.为什么要使用StringBuilder和StringBuffe…

电动汽车充放电V2G模型MATLAB代码

微❤关注“电气仔推送”获得资料(专享优惠) 主要内容: 本程序主要建立电动汽车充放电V2G模型,采用粒子群算法,在保证电动汽车用户出行需求的前提下,为了使工作区域电动汽车尽可能多的消纳供给商场基础负荷…

Java进阶——多线程相关,实际应用中的积累,持续更新

目录 多线程相关CountDownLatch赛跑的案例countDownLatch.await(300, TimeUnit.SECONDS); Java其他进阶Map的put方法只放一个元素的集合 多线程相关 CountDownLatch 案例:主线程的执行需要等待子线程执行完,等各个线程执行完毕后,主线程做收…

【图像分类】基于深度学习的垃圾分类系统的设计与实现(ResNet网络,附代码和数据集)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。(专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内,不想订阅专栏的兄弟们可以私信…

万字解析:十大排序(直接插入排序+希尔排序+选择排序+堆排序+冒泡排序+快速排序+归并排序+计数排序+基数排序+桶排序)

文章目录 十大排序排序算法复杂度及稳定性分析一、 排序的概念1.排序:2.稳定性:3.内部排序:4.外部排序: 二、插入排序1.直接插入排序2.希尔排序 三、选择排序1.直接选择排序方法一方法二直接插入排序和直接排序的区别 2.堆排序 四…

SpringBoot集成Swagger2登录功能和安全认证

本篇文章要实现的功能: 1.集成swagger2.集成swagger登录功能,访问 /swagger-ui.html需要先登录3.集成安全认证,访问接口时携带header 请求接口时携带了上一步输入的header参数和值 1.集成swagger jdk11,SpringBoot 2.7.13 pom…

redis运维(十四) hash缓存案例

一 缓存案例 ① 需求 ② 个人理解 策略:不更新缓存,而是删除缓存大部分观点认为:1、做缓存不应该是去更新缓存,而是应该删除缓存2、然后由下个请求去缓存,发现不存在后再读取数据库,写入redis缓存 高并发场景下,到底先更新缓存还是先更…

Android studio 迁移之后打开没反应

把Android studio由d盘迁移到c盘,点击没反应; 需要把C:\Users\xxxx\AppData\Roaming\Google\AndroidStudio2022.3 目录下的studio64.exe.vmoptions 修改为C:,删除该文件会导致无法安装app。 里面配置了一个

git常用命令(git github ssh)

目录 1、语法说明2、本地仓库相关操作建立一个git文件(git init)把工作区的文件添加到暂存区(git add)把暂存区的文件添加到本地仓库(git commit)查看暂存区和本地仓库中的文件(git ls-files)查看文件夹下所有文件的状态(git status)查看版本库中的提交记录(git log)恢复的文件…

Linux系统管理与服务器安全:构建稳健云数据中心

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在当今数字化时代,云数据中心已经成…

Program Header Table(转载)

程序头表与段表相互独立,由ELF文件头统一管理。 程序头表负责ELF文件从文件到加载后映像的映射关系,一般只有可执行文件包含。 1. segment和section segment: 程序头表项描述的对象称为segment,即elf文件加载后的数据块; 它提供…

【计算方法与科学建模】矩阵特征值与特征向量的计算(二):Jacobi 过关法及其Python实现(Jacobi 旋转法的改进)

文章目录 一、Jacobi 旋转法1. 基本思想2. 注意事项 二、Jacobi 过关法1. 基本思想2. 注意事项 三、Python实现迭代过程(调试) 矩阵的特征值(eigenvalue)和特征向量(eigenvector)在很多应用中都具有重要的数…

2023.11.22 homework

七年级数学 五年级数学 也不知道可以教到几年级,估计很快就教不动了。人生啊。

地图导航测试用例,你get了吗?

地图导航是我们经常使用的工具,能帮助我们指引前进的方向。 接下来,会从功能测试、UI测试、兼容测试、安全测试、网络测试、性能测试、易用性测试、文档和国际化语言测试8个方面来编写地图导航测试用例。 一 功能测试 输入起点和终点,验证…

五大资源之Service(可以固定IP)

Service可以看作是一组同类Pod对外访问接口,借助Service应用可以方便的实现服务发现与负载均衡 创建集群内部可以访问Service #暴露Service(也创建在了namespace dev下) [root@master ~]# kubectl expose deployment(pod控制器) nginx --name=svc-nginx1 --type=Cluste…

实在智能携“TARS大模型”入选“2023中国数据智能产业AI大模型先锋企业”

近日,由数据猿与上海大数据联盟联合主办的“2023企业数智化转型升级发展论坛”在上海圆满收官。 论坛颁奖典礼上,《2023中国数据智能产业AI大模型先锋企业》等六大榜单正式揭晓,旨在表彰在AI领域为数智化升级取得卓越成就和突出贡献的企业&am…

最新PHP熊猫头图片表情斗图生成源码

这是一款能生成熊猫头表情斗图的自适应系统源码,无论是在电脑还是手机上都可以正常使用!这个源码集成了搜狗搜索图片接口,可以轻松地一键搜索数百万张图片,并且还包含了表情制作等功能模块。对于一些新站来说,这是一个…