传统视觉方法识别指针仪表

对于一些特殊场景和仪表数量较少时比较适合。

一 找出目标区

通过labelme 将仪表范围框出来,并进行转换:

data = json.load(open(mask_path, encoding='utf-8'))
shapes = data['shapes']target_label = '1'for shape in shapes:label = shape['label']if label == target_label:points = [[float(x[0]), float(x[1])] for x in shape['points']]points = np.float32(sort_points(points))elif label == '2':aim_points = [[float(x[0]), float(x[1])] for x in shape['points']]aim_points = np.float32(sort_points(aim_points))elif label == '3':angle_points = [[float(round(x[0])), float(round(x[1]))] for x in shape['points']]angle_points = np.float32(angle_points)

二 角度转换

2.1 points 排序

def sort_points_angle(points, meter_number, frame):"""根据角度排序"""meter_number = [0, 0.5, 1, 1.5]# print('points:', points)center_point = find_center_point(points)# print('center point:', center_point)other_points = [point for point in points if not np.all(point =&#

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

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

相关文章

快速实现SAP的移动化和流程优化

热门议题: 1、企业如何快速解决人员移动办公的需求,比如在苹果安卓手机,平板电脑,MAC登录SAP。2、企业如何解决用户经常抱怨的流程复杂,操作繁琐,难以使用等问题 公司介绍: Synactive,Inc. 是…

vim基本使用方法

VIM 1.vim介绍2.vim基本操作2.1 模式切换2.2 命令模式2.3 底行模式 1.vim介绍 vim是linux上一个有多个编辑模式的编辑器。 这里主要介绍三种模式: 命令模式(Normal mode) 执行命令的模式,主要任务就是控制光标移动、复制和删除。…

8. 实现业务功能--用户注册

目录 1. 顺序图 2. 参数要求 3. 接口规范 4. 创建扩展 Mapper.xml 5. 修改 DAO 6. 创建 Service 接口 7. 实现接口 8. 测试接口 9. 实现 Controller 9.1 密码加密处理 10. 实现前端界面 业务实现过程中主要的包和目录及主要功能: model 包:实体对象 d…

动态规划入门之01背包变形嗑药

P1802 5 倍经验日 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 嗑药固然可耻,但是能让你快速变强 --鲁迅 手动滑稽,话归正题 动态规划之背包入门01背包模板_爱莉我老婆的博客-CSDN博客 这是01背包的模板,没看的可以去看看。 我们把…

vue 弹出框 引入另一个vue页面

为什么要这么做,适用于在一个页面逻辑比较多的时候,可以搞多个页面,防止出错 index页面点击解约按钮,弹出框 进入jieyue.vue 核心代码 <el-buttonsize"mini"type"text"icon"el-icon-edit"v-if"scope.row.delFlag 0"click"j…

守护网络安全:深入了解DDOS攻击防护手段

ddos攻击防护手段有哪些?在数字化快速发展的时代&#xff0c;网络安全问题日益凸显&#xff0c;其中分布式拒绝服务(DDOS)攻击尤为引人关注。这种攻击通过向目标网站或服务器发送大量合法或非法的请求&#xff0c;旨在使目标资源无法正常处理其他用户的请求&#xff0c;从而达…

【复盘】第 111 场力扣夜喵双周赛

又是7分选手&#xff0c;好好复盘&#xff01; 第一题&#xff08;签到题&#xff09; 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target &#xff0c;请你返回满足 0 < i < j < n 且 nums[i] nums[j] < target 的下标对 (i, j) 的数目。 示例 …

探索人工智能 | 模型训练 使用算法和数据对机器学习模型进行参数调整和优化

前言 模型训练是指使用算法和数据对机器学习模型进行参数调整和优化的过程。模型训练一般包含以下步骤&#xff1a;数据收集、数据预处理、模型选择、模型训练、模型评估、超参数调优、模型部署、持续优化。 文章目录 前言数据收集数据预处理模型选择模型训练模型评估超参数调…

websocker无法注入依赖

在公司中准备用websocker统计在线人数&#xff0c;在WebSocketServer使用StringRedisTemplate保存数据到redis中去&#xff0c;但是在保存的时候显示 StringRedisTemplate变量为null 详细问题 2023-08-20 10:37:14.109 ERROR 28240 --- [nio-7125-exec-1] o.a.t.websocket.po…

linux面试题整理

目录标题 基础篇1.说下企业为什么用linux而不用windows&#xff1f;2.linux学过什么&#xff0c;怎么学习的&#xff1f;3.linux基本命令4.linux查看端口、进程、文件类型、挂载5.使用top命令之后前五行会显示什么内容&#xff1f;6.linux怎么查找一个文件7.vim进去后的各种操作…

NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问

文章目录 摘要1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 摘要 Nextcloud,它是ownCloud的一个分支,是一个文件共享服…

LeetCode ——二叉树篇(三)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 二叉树的定义及创建见&#xff1a; LeetCode ACM模式——二叉树篇&#xff08;一&#xff09;_要向着光的博客-CSDN博客 目录 116. 填充每个节点的下一个右侧节点指针 117. 填…

Maven介绍_下载_安装_使用_原理

文章目录 1 Maven介绍1.1 Maven的介绍1.2 Maven的作用 2 Maven下载与安装2.1 官网下载2.2 文件目录2.3 环境配置 3 Maven基础概念3.1 仓库分类3.2 依赖坐标3.3 坐标组成 4 Maven配置4.1 本地仓库配置4.2 远程仓库的设置4.3 镜像仓库配置4.4 IDEA配置Maven 5 Maven项目创建5.1 M…

LaWGPT零基础部署win10+anaconda

准备代码&#xff0c;创建环境 # 下载代码 git clone https://github.com/pengxiao-song/LaWGPT cd LaWGPT # 创建环境 conda create -n lawgpt python3.10 -y conda activate lawgpt pip install -r requirements.txt # 启动可视化脚本&#xff08;自动下载预训练模型约15GB…

arcpy之excel数据处理

目录 步骤一:导入所需模块步骤二:从Excel读取数据步骤三:将数据导入到Excel中步骤四:写入Excel数据总结当涉及到地理信息系统(GIS)数据处理时, ArcPy提供了处理 Excel数据的强大功能,包括从 Excel读取数据和将数据导入到 Excel中。在本篇博客中,我将向您介绍如何使…

postgresql自定义方法创建之坐标的自动转换

postgresql导入点类型的空间数据&#xff0c;一般会提供xy坐标(或者lon和lat)字段&#xff0c;一般的工具并没有提供转换为空间数据的功能。此时&#xff0c;我们需要提供一些方法或者触发器来实现空间字段的自动更新。而xy坐标在导入的时候也会存在两种情况&#xff0c;一种是…

回归预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测

回归预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测 目录 回归预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测&#x…

el-row的@click.stop并没有阻止事件冒泡,还是会触发外层div的点击事件

当点击一个元素时&#xff0c;会进行冒泡&#xff0c;一直触发到父元素。可以通过给click加stop来阻止事件冒泡&#xff0c;如&#xff1a;click.stop“search_maf_version(version)”&#xff0c;但是发现给el-row加上click.stop并没有生效&#xff0c;还是会触发外部的点击事…

第二讲:BeanFactory的实现

BeanFactory的实现 1. 环境准备2. 初始化DefaultListableBeanFactory3. 手动注册BeanDefinition4. 手动添加后置处理器5. 获取被依赖注入的Bean对象6. 让所有的单例bean初始化时加载7. 总结 Spring 的发展历史较为悠久&#xff0c;因此很多资料还在讲解它较旧的实现&#xff0c…

中间件(上)

1、何为中间件&#xff1a; 中间件&#xff08;Middleware&#xff09;是指位于操作系统和应用程序之间的一层软件层&#xff0c;用于提供各种服务和功能&#xff0c;以帮助不同的应用程序、系统或组件进行通信、交互和协作。中间件可以看作是在不同计算机或系统之间建立连接和…