墙地砖外形检测的技术方案-外部轮廓检测算法

Ramer算法

利用Canny算子得到墙地砖轮廓后,必须进一步将轮廓线精确分段成墙地砖的四条边,从而可得到墙地砖轮廓尺寸、边直度和直角度指标。采用如下算法实现:

第1,选择较高阈值,利用ramer算法将轮廓线用多边形(Polygon)近似。

第2,如果多个轮廓直线段能被圆弧近似,则将圆弧代替。

第3,选择较低阈值,利用ramer算法将未被圆弧代替的轮廓线用多边形(polygon)近似。

第4,重复第2步,结束。

Ramer算法示意图

外部轮廓检测算法

提取瓷砖的轮廓边长后,计算出图像中瓷砖的边直度和直角度特征。对规格为300 mm×300 mm的墙地砖进行了外形检测。检测的条件为:工业相机500万像素,距离墙地砖1米,工业相机安装位置与背景板是垂直的。如上图所示,该墙地砖经过一次试验后,在软件中所呈现结果。通过与标准量具实测对比表明:轮廓的长度和宽度方向的误差≤ 0.3 mm,墙地砖的边直度和直角度重复性好,较好反映墙地砖外形特征。 

墙地砖外形自动检测软件结果画面 

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

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

相关文章

软件测试|Python 用户输入和字符串格式化

简介 在 Python 中,用户输入和字符串格式化是编程中常见的任务之一。用户输入使我们能够与用户交互,而字符串格式化帮助我们创建美观的输出。本文将介绍如何在 Python 中执行这些任务,并提供详细示例。 用户输入 在 Python 中,…

MySQL报错:this is incompatible with sql_mode=only_full_group_by

mysql 5.7报错 which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_modeonly_full_group_by解决办法 修改配置文件 my.cnf [mysqld] sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZE…

[论文阅读]DeepFusion

DeepFusion Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection 用于多模态 3D 物体检测的激光雷达相机深度融合 论文网址:DeepFusion 论文代码:DeepFusion 摘要 激光雷达和摄像头是关键传感器,可为自动驾驶中的 3D 检测提供补…

多输入多输出 | Matlab实现PSO-CNN粒子群优化卷积神经网络多输入多输出预测

多输入多输出 | Matlab实现PSO-CNN粒子群优化卷积神经网络多输入多输出预测 目录 多输入多输出 | Matlab实现PSO-CNN粒子群优化卷积神经网络多输入多输出预测预测效果基本介绍模型背景程序设计参考资料 预测效果 基本介绍 Matlab实现PSO-CNN粒子群优化卷积神经网络多输入多输出…

ONLYOFFICE:开源、免费、安全,打造定制化办公平台的最佳选择

文章目录 写在前面ONLYOFFICE是什么?ONLYOFFICE的惊艳之处齐全的插件,助你锦上添花部署一款自己的安全可靠的办公平台写在最后 写在前面 说起 Office 办公软件,我想大家最常用的应该就是微软的 Microsoft Office 以及国产的 WPS Office。两款…

服务器——配置免密登录

一、生成本机的密钥文件 打开本机的终端,输入 ssh-keygen,默认一路点enter。 将生成的 id_rsa.pub 公钥文件,复制一份改一个名称,比如改名成 id_rsa_test.pub。 二、将生成的公钥文件发送到服务器对应账户的.ssh文件夹下 将改…

349. 两个数组的交集(力扣)(OJ题)

题目链接:349. 两个数组的交集 - 力扣(LeetCode) 个人博客主页:https://blog.csdn.net/2301_79293429?typeblog 专栏:https://blog.csdn.net/2301_79293429/category_12545690.html 给定两个数组 nums1 和 nums2 &a…

具有中国特色的普及工厂数字化转型的新路子

工业互联网浪潮来袭,你准备好了吗? 国家智能制造专委会委员、浙江省智能制造专家委员会毛光烈主任在“第七届中国工业大数据大会”上的演讲,《具有中国特色的普及工厂数字化转型的新路子》,阐述了关于工厂订单全流程业务数据体系运…

计算机网络(第六版)复习提纲4

计算机网络的体系结构: 三类体系结构: OSI七层:物理层比特位传输,链路层相邻链路传输检验,网络层进行路由选择,运输层实现端到端进程通信,会话层连接管理,表示层数据格式&#xff0c…

Scrapy配置文件设置(全网最全)

Scrapy配置设置(全网最全): 背景: ​ 之前在做爬虫项目的时候,老报错或有问题,我看了网上很多文章,但是都不是很全面,在这里写一篇博客给大家讲讲scrapy文件中的setting.py文件,我…

每周一算法:数独游戏

题目链接 数独游戏 题目描述 数独是根据 9 9 9 \times 9 99 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含 1 − 9 1 - 9 1−9 ,不重复。每一道合格的数独谜题都有且仅有唯一答案&#x…

3.11.0:compile (default-compile) on project demo: Fatal error compiling: 无效的标记:

1.问题 程序配置如下: SpringBoot 版本:3.2.1 java版本:1.8 启动springboot 报错如下: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project demo: Fatal e…

align-item 和 align-content

align-item 和 align-content flex 布局中的 align-items 和 align-content 属性都用于垂直对齐 flex 容器内的项目,但它们适用于不同的情况: align-items: 这个属性用于在交叉轴上对齐单行内的 flex 项目。当你有一个 flex 容器,并且里面的…

通信入门系列——信号的频谱分析

一、信号频谱 信号的频谱,指的是一段频率范围内的情况,信号的幅度和相位的情况。 以一个频率为1Hz的余弦电压信号进行说明,这个信号的傅里叶变换为X(ω)πδ(ω-2π)πδ(ω2π),也就是所谓的频谱密度,单位为V/(rad/…

要在Linux上安装Docker Compose和nginx

一、要在Linux上安装Docker Compose,您可以按照以下步骤进行操作: 确保您的Linux系统已经安装了Docker。您可以通过运行以下命令来检查Docker是否已经安装: docker --version如果Docker未安装,请先安装Docker。 下载Docker Compo…

好用的网站性能监测与服务可用性监测工具盘点

盘点市面上常见好用的网站性能监测与服务可用性监测工具,以下工具各有所长,有需求自取。 网站性能检测 1. 百川云 由长亭科技提供,一家专注于网安的实力厂商。百川云网站监测:长亭科技自研的网站稳定性、安全性监控 saas 应用工…

vue3-表单输入绑定

表单输入绑定 获取表单输入的值方式&#xff1a; 手动连接值绑定和更改事件监听器 v-model 指令 &#xff08;常用&#xff09; <script lang"ts" setup> import { ref } from "vue" // 定义个变量接收输入的内容&#xff1a; const text ref(&…

PMP冲突解决策略:项目经理的必备技能

原创不易&#xff0c;你们的点赞收藏是我创作的动力&#xff01; 在项目管理领域&#xff0c;冲突是不可避免的现象。作为项目经理&#xff0c;掌握有效的冲突解决策略至关重要。本文将为您详细介绍PMP&#xff08;项目管理专业&#xff09;中常用的几种冲突解决策略&#xff…

Android studio Sqlite数据库应用设计

一、添加依赖项: 在项目的build.gradle文件中添加以下依赖项:implementation androidx.sqlite:sqlite:2.2.0 二、创建SQLite数据库: 创建一个继承自SQLiteOpenHelper的类,用于管理数据库的创建和版本控制。在该类中定义数据库的表和列,并实现数据库的创建和更新。 publi…

rviz可视化机械臂(python)

一、准备的东西 一个机械臂的urdf 规划的路径点 二、launch文件的撰写 1.初始化 <?xml version"1.0" encoding"utf-8"?> <launch><param name"robot_description" textfile"机械臂.urdf" /><node name&qu…