当前位置: 首页 > article >正文

学习海康VisionMaster之矩形检测

这几天太忙了,好几天没有学习了,今天终于空下来了,继续学习之路吧。

一:进一步学习了

       今天学习下VisionMaster中的矩形检测,这个一开始我以为是形态学方面的检测,实际操作下来其实还是边缘直线的衍生应用,这次是一次性检测4条边缘,然后输出一个矩形

二:开始学习

     1:什么是矩形检测?

      就是检测ROI区域内是否存在矩形,如下图所示

  2:应用场景:这个应用场景其实在机器视觉的场景下应用还是非常广泛的

(1)电子制造业

  • PCB板定位与检测
    检测PCB板上的矩形焊盘、边框或标记点,确保安装位置准确,避免贴片机偏移。

  • 屏幕/面板对齐
    识别液晶屏、触摸屏的矩形边缘,验证装配是否到位,检测边缘缺损或划痕。

(2) 包装与印刷行业

  • 包装盒尺寸测量
    快速测量纸盒、包装箱的长宽和直角,判断是否符合公差要求。

  • 标签位置检测
    验证标签是否贴合在矩形区域中心,避免歪斜或漏贴。

三:直接上案例

1:先导入需要测试的图片集合

2:使用轮廓定位,把两个组件的线连起来,这里是需要设定模版匹配功能,这样图像不管怎么旋转都能准确定位图像位置,具体操作步骤可以参考前面课程

3:拖入位置修正功能:这个非常重要,这里也不提了,可以参考上一篇笔记

4:拖入矩形检测模块

5:双击组件,开始设定参数

(1):边缘对类型:

    最宽:检测ROI内间距最大的边缘对

    最窄:检测ROI内间距最小的边缘对。

    最强:检测ROI内边缘对平均梯度最大的边缘对

    最弱:检测ROI内梯度最小的边缘对 

    第一对:检测ROI内边缘对中心与搜索起始点最近的边缘对

   最后一对:检测ROI内边缘对中心与搜索起始点最远的边缘对 

   最接近:检测ROI内和理想宽度最接近的边缘对集合

   最不接近:检测扫ROI内和理想宽度最不接近的边缘对集合

(2):边缘极性:这里细分了4条边缘的极性参数,这样方便每一条边缘都能单独设定

                             从黑到白:就是梯度变化是黑色像素向白色像素过渡的边缘点

                             从白到黑:就是梯度变化是白色像素向黑色像素过渡的边缘点

                             任意:只要有梯度变化并且满足条件的点

(3):边缘阈值:边缘梯度,只有实际的边缘梯度数值大于这个设定值,才会有效检测到边缘

(4):卡尺数量:定义卡尺的数量,相当于每个卡尺检测一个点

  (5):滤波尺寸:设定边缘的清晰程度条件,边缘如果越清晰,这个数值就要减小

  (6):投影宽度:类似于ROI宽度,就是每一个小检测框的宽度,数值越大,可以相对获取更加稳定一点的坐标点

  (7):剔除点数,剔除距离:和剔除距离配合使用,允许坐标点到对应拟合直线的最大距离(像素)

  (8):初始拟合:局部:按照局部的特征点来拟合

                           全局:以查找到的全局特征点进行直线拟合。

  (9):拟合方式:提供了三个拟合算法,三种拟合算法权重的计算方式有些差异

四:实测:上述设定好参数,开始实际测量看看效果,不同的检测模式下的检测效果

相关文章:

学习海康VisionMaster之矩形检测

这几天太忙了,好几天没有学习了,今天终于空下来了,继续学习之路吧。 一:进一步学习了 今天学习下VisionMaster中的矩形检测,这个一开始我以为是形态学方面的检测,实际操作下来其实还是边缘直线的衍生应用&…...

解决前端vue项目在linux上,npm install,node-sass 安装失败的问题

Unable to save binary /var/lib/jenkins/workspace/xxx/node_modules/node-sass/vendor/linux-x64-72 : Error: EACCES: permission denied, mkdir ‘/var/lib/jenkins/workspace/x/node_modules/node-sass/vendor’ 这个是node-sass安装失败导致的。 #将npm的默认仓库更改为…...

C Primer Plus 第6版 编程练习——第3章

1、通过试验(即编写带有此类问题的程序)观察系统如何处理整数上道、浮占数上溢和浮点数下溢的 int main(int argc, char** argv) {int intMax 2147483647;float floatMax 3.402823466e38f;float floatMin -3.402823466e38f;printf("intMax:%d, …...

十倍开发效率 - IDEA插件之 Mybatis Log Free

提高效率不是为了完成更多任务,而是为了有充足的时间摸鱼 快速体验 MyBatis Log Free 支持打印执行的 SQL(完整的SQL,没有占位符的)。 没有使用 MyBatis Log Free 的开启日志打印是这样的: 用了 MyBatis Log Free 后…...

手动安装 VMware Tools 并设置虚拟机共享 Windows 文件夹

前言:在当今数字化的工作环境中,虚拟机技术为我们提供了强大的灵活性和便利性。VMware 作为虚拟化领域的佼佼者,其虚拟机软件被广泛应用于开发、测试和日常工作中。然而,许多用户在使用 VMware 虚拟机时,会遇到一个常见…...

(免费)flask调用讯飞星火AI,实现websocket

本文章可借鉴学习,不可直接盗用 接入ai要获取ID,Secret,Key,和接口地址,由于我们服务接口类型是websocket,所以要获取相应的接口地址。(千万不要复制粘贴到http的了) 还要获取doma…...

ARINC818协议-持续

一、帧头帧尾 SOF 和 EOF 分别代表视频帧传输的开始与结束,它们在封装过程有多种状态,SOF 分为 SOFi 和 SOFn,EOF 分为 EOFt 和 EOFn。传输系统中的视频信息包括像素数据信 息和辅助数据信息,分别存储在有效数据中的对象 0 和对象…...

分布式笔记(一)

分布式系统问题 并发性 没有全局时钟 故障独立性 分布式系统概念 分布式优势 资源共享、开放性、并发性、可扩展性、容错性 问题挑战 分布式系统总部特性很难了解 分布式系统响应不可预知 不能自顶向下 设计原则 透明性 开放性:按照普遍标准 可扩展性…...

linux常用基础命令_最新版

echo off setlocal enabledelayedexpansion :: Copyright © 2025 xianwen.deng :: All rights reserved. :: 591278546qq.com :: Version: 1.0 for /f “tokens2 delims:” %%a in (‘chcp’) do set “codepage%%a” set codepage!codepage: ! echo Codepage: !codepag…...

2021-11-09 C++三位数平方含有该数

缘由求解&#xff0c;运算函数&#xff0c;哪位大神教一下-编程语言-CSDN问答 void 三位数平方含有该数() {//缘由https://ask.csdn.net/questions/7560152?spm1005.2025.3001.5141int a 100, aa 1000, f 0;while (a < aa){f a*a;while (f > a)if ((f - a) % aa)f …...

MATLAB 程序实现了一个层次化光网络的数据传输模拟系统

% 主程序 num_pods = 4; % Pod 数量 num_racks_per_pod = 4; % 每个 Pod 的 Rack 数量 num_nodes_per_rack = 4; % 每个 Rack 的 Node 数量 max_wavelength = 50; % 可用波长数(根据冲突图动态调整) num_packets = 1000; % 模拟的…...

解锁 MCP 协议:AI 与数据交互的新桥梁

在人工智能&#xff08;AI&#xff09;蓬勃发展的当下&#xff0c;大型语言模型&#xff08;LLM&#xff09;展现出了令人惊叹的生成与推理能力。然而&#xff0c;它们在数据访问方面却面临着严峻的 “数据孤岛” 挑战。传统模式下&#xff0c;每个数据源都需要专门的连接器&am…...

StarRocks Community Monthly Newsletter (Mar)

版本动态 3.4.1 版本更新 核心功能升级 数据安全与权限管控 支持「安全视图」功能&#xff0c;严格管控视图查询权限 MySQL协议连接支持SSL认证&#xff0c;保障数据传输安全 存算分离架构增强 支持自动创建Snapshot&#xff08;集群恢复更便捷&#xff09; Storage Volu…...

Github 2FA(Two-Factor Authentication/两因素认证)

Github 2FA认证 多因素用户认证(Multi-Factor Authentication)&#xff0c;基本上各个大互联网平台&#xff0c;尤其是云平台厂商&#xff08;如&#xff1a;阿里云的MFA、华为云、腾讯云/QQ安全中心等&#xff09;都有启用了&#xff0c;Github算是搞得比较晚些了。 双因素身…...

动态规划 -- 简单多状态dp,打家劫舍问题

1 按摩师 面试题 17.16. 按摩师 - 力扣&#xff08;LeetCode&#xff09; 本题的意思简单理解就是&#xff0c;如果我们接受了第 i 个预约&#xff0c;那么第 i -1 个预约和第 i1 个预约我们都是无法接受的&#xff0c;只能至少间隔一个选择。 按照以前的经验&#xff0c;我们…...

list的模拟实现和反向迭代器的底层

1&#xff1a;list的模拟实现 1&#xff1a;链表的节点 对于list的模拟实现&#xff0c;我们需要先定义一个节点的类可以使用&#xff08;class也可以使用struct&#xff09; // List的节点类 template<class T> struct ListNode {ListNode(const T& val T()){_p…...

C++学习之游戏服务器开发⑤AOI业务逻辑

目录 1.项目进度回顾 2.完善整体架构 3.AOI网格思路 4.网络AOI数据结构 5.游戏世界类添加&#xff0c;删除和构造 6.AOI查找实现 7.GAMEROLE类结合AOI 8.登陆时发送ID和姓名 9.登陆时发送周围玩家位置 10.玩家上线完成 11.玩家下线处理 1.项目进度回顾 时间轮调度处理…...

C/C++语言常见问题-智能指针、多态原理

文章目录 智能指针实现原理智能指针&#xff0c;里面的计数器何时会改变std::shared_ptr的引用计数器&#xff1a;std::weak_ptr的弱引用计数器&#xff1a;std::unique_ptr的控制块&#xff1a;总结&#xff1a; 智能指针和管理的对象分别在哪个区面向对象的特性&#xff1a;多…...

Python 实现日志备份守护进程

实训背景 假设你是一名运维工程师&#xff0c;需要为公司的监控系统开发一个简单的日志备份守护进程。该进程需满足以下需求&#xff1a; 后台运行&#xff1a;脱离终端&#xff0c;长期监控指定目录&#xff08;如 /var/log/app/&#xff09;中的日志文件。自动备份&#xf…...

Electricity Market Optimization 探索系列(VII)- 直流潮流方程的推导及例题

本文参考书籍&#xff1a;电力经济与电力市场&#xff0c;甘德强&#xff0c;杨莉&#xff0c;冯冬涵 著 link \hspace{1.6em} 文章的结构如下&#xff1a;围绕电力传输系统中短线路的等值等效模型&#xff0c;从节点注入功率的角度和线路功率的角度分析电网中的潮流&#xff0…...

DataOutputStream 终极解析与记忆指南

DataOutputStream 终极解析与记忆指南 一、核心本质 DataOutputStream 是 Java 提供的数据字节输出流&#xff0c;继承自 FilterOutputStream&#xff0c;用于写入基本数据类型和字符串的二进制数据。 作用&#xff1a;1.将java程序中的数据直接写入到文件&#xff0c;写到文…...

Spring AI与通义千问的完美结合:构建智能对话应用

Spring AI是Spring生态系统中的新成员,它为开发人员提供了一套简单而强大的工具,用于集成各种AI大模型。本文将介绍如何使用Spring AI与阿里云通义千问大模型进行集成,构建智能对话应用,帮助你快速掌握AI应用开发的核心技能。 引言 随着人工智能技术的快速发展,越来越多的…...

路由过滤实验

实验拓扑以及要求 此实验总结 1.ip-prefix 拒绝192.168.4.1 32,这样写的话并不会匹配192.168.4.1 32,需要加上范围less-eq 32,也就是说,192.168.4.1 32只是规则的范围,匹配还是得写范围 2.router-policy适合用在边界路由器引入 filter-policy都可以用 配置IP 配置ospf,rip …...

Idea连接远程云服务器上的MySQL,开放云服务器端口

1.开放云服务器的3306端口 &#xff08;1&#xff09;进入到云服务器的控制台 &#xff08;2&#xff09;点击使用的云服务器 &#xff08;3&#xff09;点击 配置安全组规则 &#xff08;4&#xff09;添加规则 &#xff08;5&#xff09;开放端口 2.创建可以远程访问…...

Oracle查询大表的全部数据

2000w的大表 表结构如下&#xff0c;其中id是索引 查询处理慢的写法 List<String> queryLoidForPage(Integer startNum,Integer endNum){try {Connection oracleConnection initBean.oracleConnection;Statement stmt oracleConnection.createStatement();// 4.执行查…...

Java锁的分类与解析

在多线程编程中&#xff0c;锁是确保共享资源不会同时被多个线程访问的关键工具。Java 提供了多种锁的实现方式&#xff0c;可以根据不同的需求选择适合的锁。本文将从多个维度对 Java 的锁进行分类&#xff0c;并对每种锁的特性进行详细解析。 锁的分类 锁的分类并没有唯一标…...

PyTorch生成式人工智能实战(1)——神经网络与模型训练过程详解

PyTorch生成式人工智能实战&#xff08;1&#xff09;——神经网络与模型训练过程详解 0. 前言1. 传统机器学习与人工智能2. 人工神经网络基础2.1 人工神经网络组成2.2 神经网络的训练 3. 前向传播3.1 计算隐藏层值3.2 执行非线性激活3.3 计算输出层值3.4 计算损失值3.5 实现前…...

基于X86/Nvidia+FPGA大模型具身智能机器人控制器解决方案,同时拥有算力与实时的便利

2025年成为人形机器人产业化元年&#xff0c;行业已突破早期实验室研发阶段&#xff0c;进入"场景验证量产爬坡"新周期&#xff0c;预计2031年具身智能市场规模有望突破万亿元。这一进程的背后&#xff0c;是硬件算力、实时控制、环境适应等底层技术的系统性突破——…...

使用 OpenRewrite 简化 Java 和 SpringBoot 迁移

大家好&#xff0c;这里是架构资源栈&#xff01;点击上方关注&#xff0c;添加“星标”&#xff0c;一起学习大厂前沿架构&#xff01; 移民的挑战 随着 Spring Boot 2.x 等旧版本即将到期且不再获得支持&#xff0c;迁移到较新版本对于安全性、兼容性和性能改进至关重要。但…...

2025中国移动云智算大会回顾:云智变革,AI+跃迁

4月10日&#xff0c;2025中国移动云智算大会在苏州举办。会上&#xff0c;中国移动开启“由云向智”新范式&#xff0c;以“智”为核心开辟算网新生态&#xff0c;彰显其在AI新时代的战略远见与技术引领力。 “云智算”将如何通过算网基础设施与人工智能核心技术的深度融合&am…...