点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
小编讲解的内容是ROI生成和ROI校正两大功能。
感兴趣区域(ROI,region of interest),在机器视觉、图像处理中,在被处理的图像上以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,简称ROI。在图像处理领域,感兴趣区域是从图像中选择的一个图像区域,这个区域是图像分析所关注的重点。圈定该区域以便进行进一步处理,或使用ROI圈定你想处理的目标,可以减少处理时间,提高精度。
在具体的视觉应用中,当工件来料位置固定不变时,常量ROI可以覆盖工件来料。但是当来料位置存在较大波动时,就无法通过固定的ROI来实现视觉应用。这时候我们可以通过粗定位对产品进行定位,根据定位位置、长宽,角度等数据使用生成ROI,通过生成ROI工具来满足视觉应用的要求;或者通过粗定位数据使用ROI校正工具对固定的ROI进行仿射变换,跟随产品位置来满足视觉应用的要求。
什么是ROI生成?
ROI生成,通过在图像上绘制一个ROI或者用前面模块的输出结果,或用户定义的指定数据生成特定ROI。可以创建的ROI类型有:点、直线、旋转矩形、椭圆、环形、不规则。
在后面的算子中调用所生成的ROI,将不进行全图搜索检测,只在ROI区域内进行搜索,这样可以屏蔽不感兴趣区域,令检测时间缩短。
一、ROI生成的应用场合
1、目标物体周边存在干扰点时,可以通过限定感兴趣区域来规避;
2、图片数据量大,感兴趣区域小,可以通过划定感兴趣区域,令检测时间缩短;
二、ROI生成算法界面
如图1中蓝色矩形框即为划定的旋转矩形ROI:
图1 ROI生成功能界面
三、ROI生成参数设置
ROI类型:支持自定义的ROI类型。
1、点
2、直线
3、旋转矩形
4、椭圆
5、环形
6、不规则
7、多边形
ROI的生成可手动自定义参数,也可以从外部引用变量参数,如图2所示:
图2 ROI类型示例
四、应用场合案例
图3中矩形框即为划定的矩形ROI,ROI设置选定ROI生成后,找直线功能只在该ROI区域进行搜索边缘点。
图3 ROI生成案例
什么是ROI校正?
在实际应用中,每一个待检测工件在图像中的位置都发生偏移,从而ROI也需要移动,否则会导致检测不到所需要的特征。此时就可以创建定位基准,使ROI跟随基准移动,能够很好的解决这个问题。
图4 使用ROI校正前后效果对比示例
(单击图片放大可查看详情)
一、ROI校正应用场合
1、定位产品抓取类项目应用
2、定位产品放料类项目应用
3、激光打标、切割类项目应用
4、点胶、焊点定位类项目应用
二、ROI进行校正的步骤
第一步:确定基准源。通过匹配或Blob分析等功能对此图像部分进行分析,获得基准点和基准角度。
第二步:选择生成仿射矩阵的参数。根据校正模式、参考点、参考角度生成仿射变换矩阵。
第三步:引用基准对ROI进行校正。选择支持的ROI校正方式的算子(例如定位、测量、检测、识别等算子工具),在算子中引用ROI基准对应的仿射变换矩阵,使ROI跟随基准进行移动,保证ROI能够准确框住测量区域。
三、算法原理
其工作原理是找到校正前后的基准点及基准角度,通过两点和两角度之间的关系计算出仿射变换矩阵,原ROI的位置信息通过仿射变换求得校正后的位置信息,根据校正后的位置信息重新生成ROI。
校正模式:补正可选方法有水平方向补正,垂直方向补正,水平和垂直方向上进行补正,水平、垂直以及角度进行补正,水平方向加角度补正,垂直方向加角度补正。
参考点:依据参考点计算出仿射矩阵中平移分量,可以由Blob分析结果、匹配结果、几何关系或用户自定义变量等点变量构成。
参考角度:依据参考角度计算出仿射矩阵中旋转分量,可以由Blob分析结果、匹配结果、几何关系或用户自定义变量等数值变量构成。
图5 ROI校正原理
图6 ROI校正示例
四、应用场合案例
以灰度匹配的匹配结果中心点作为参考点,选择水平和垂直方向上进行补正,生成带有平移分量的仿射变换。当工件的位置发生偏移时,ROI校正能保证ROI相对于工件测量的位置是不变的,从而能够精确地进行找圆操作。
图7 ROI校正案例示意
(单击图片放大可查看详情)
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
原网址: 访问
创建于: 2024-03-06 09:18:37
目录: default
标签: 无
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论