pyqt5实现振动波形数据标注工具

pyqt5实现振动波形数据标注工具

1、效果图

在这里插入图片描述

2、实现功能

1、数据库连接
2、数据筛选
3、波形图展示、频谱图展示
4、特征展示:时域、频域
5、数据标注与添加
6、模型训练与分类识别

3、部分核心代码

3.1、连接数据库
# -*- coding: utf-8 -*-

"""
@contact: 微信 1257309054
@file: mark_main.py
@time: 2023/12/16 20:14
@author: LDC
"""
    def btn_link_clicked(self):
        # 连接数据库
        self.is_link = True
        try:
            self.source_cur.close()
            self.source_con.close()
            self.target_cur.close()
            self.target_con.close()
        except:
            pass
        try:
            self.source_con = pymysql.connect(
                host='127.0.0.1',  # 数据库所在地址URL
                user='root',  # 用户名
                password=self.source_password_edit.text(),  # 密码
                database=self.source_database_edit.text(),  # 源数据库名称
                port=3306,  # 端口号
                charset='utf8'
            )
            # 拿到查询游标
            self.source_cur = self.source_con.cursor()
        except Exception as e:
            self.feature_text.setText('源数据库连接错误:{}'.format(e))
            return False

        try:
            self.target_con = pymysql.connect(
                host='127.0.0.1',  # 数据库所在地址URL
                user='root',  # 用户名
                password=self.target_password_edit.text(),  # 密码
                database=self.target_database_edit.text(),  # 目标数据库名称
                port=3306,  # 端口号
                charset='utf8'
            )
            # 拿到查询游标
            self.target_cur = self.target_con.cursor()
        except Exception as e:
            self.feature_text.setText('目标数据库连接错误:{}'.format(e))
            return False
        self.btn_link.setText('已连接')

        # 获取目标数据库最大表记录
        sql = 'SELECT MAX(ID) AS lastRecordId FROM alert_log'
        self.target_cur.execute(sql)
        self.target_alert_log_id = self.target_cur.fetchone()
        if self.target_alert_log_id[0]:
            self.target_alert_log_id = self.target_alert_log_id[0] + 1
        else:
            self.target_alert_log_id = 1
        self.target_alert_log_id_edit.setText(str(self.target_alert_log_id))
        self.feature_text.setText('源数据库、目标数据库连接成功。表最大记录是:{}'.format(self.target_alert_log_id))
3.2、添加到数据库:
"""
@contact: 微信 1257309054
@file: mark_main.py
@time: 2023/12/16 20:14
@author: LDC
"""
    def btn_add_clicked(self):
        # 添加数据至目标数据库
        try:
            sql = """select * from alert_log where id={}""".format(self.source_alert_log_ids[self.source_alert_log_ids_index])
            self.source_cur.execute(sql)
            desc = self.source_cur.description  # 获取字段的描述,默认获取数据库字段名称,从新定义时经过AS关键重新命名便可
            row = self.source_cur.fetchone()
            data_dict = dict(zip([col[0] for col in desc], row))  # 一行数据列表表达式把数据组装起来
            # rows = self.source_cur.fetchall() # 获取多行数据
            # datas_dict = [dict(zip([col[0] for col in desc], row)) for row in self.source_cur.fetchall()]  # 多行数据列表表达式把据组装起来
            data_dict['id'] = self.target_alert_log_id # 修改id、type_label值
            data_dict['type_label'] = self.type_edit.text()
            clos, value = zip(*data_dict.items()) # 转成两个元组,clos是所有字段名,value是对应字段的值
            # 转成sql,其中%s对应的变量会在execute函数执行时自动匹配上value元组里面的值
            sql = """INSERT INTO `alert_log` (%s) VALUES (%s)""" % (','.join(clos),','.join(['%s'] * len(value)))
            self.target_cur.execute(sql, value)
            self.target_con.commit()
            self.feature_text.setText('添加成功')
        except Exception as e:
            self.feature_text.setText('添加失败:{}'.format(e))

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

技术探秘:在RISC Zero中验证FHE——由隐藏到证明:FHE验证的ZK路径(1)

1. 引言 开源代码实现见: https://github.com/hashcloak/fhe_risc0_zkvm(Rust)https://github.com/weikengchen/vfhe-profiled(Rust)https://github.com/l2iterative/vfhe0(Rust) L2IV Resea…

后端开发——统一处理异常Spring MVC机制

一、Spring MVC的统一处理异常机制 在Spring MVC中,存在统一处理异常的机制, 具体表现为:无论是哪个处理请求的过程中出现异常,每种类型的异常只需要编写一段处理异常的代码即可! 统一处理异常的核心是定义处理异常的…

【INTEL(ALTERA)】Agilex7 FPGA Development Kit DK-DEV-AGI027R1BES编程/烧录/烧写/下载步骤

DK-DEV-AGI027R1BES 的编程步骤: 将外部 USB Blaster II 连接到 J10- 外部 JTAG 接头。将交换机 SW5.3 设置为 ON(首次)。打开 英特尔 Quartus Prime Pro Edition 软件编程工具。单击 硬件设置 ,然后选择 USB Blaster II。将硬件…

LeetCode - 460 LFU缓存(Java JS Python)

题目来源 460. LFU 缓存 - 力扣(LeetCode) 题目描述 请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象int get(int key)…

RocketMQ系统性学习-SpringCloud Alibaba集成RocketMQ以及消息追踪、延时消息实战

文章目录 消息追踪延时消息实战 消息追踪 设置消息追踪需要修改 broker 启动的配置文件,添加一行配置:traceTopicEnabletrue 即可,操作如下: # 进入到 rocketmq 的安装目录中 # 先复制一份配置文件 cp broker.conf custom.conf …

高并发音频转口型服务器开发

课程名称:高并发口型服务器开发 高并发口型服务器 哈喽,大家好,我叫人宅,很高兴和大家一起分享本套课程,高并发口型服务器开发。 虚拟人的口型一直是我们避免不了问题,即使我们不做虚拟人实时口型&#x…

WorkPlus搭建高效即时通讯,打造高效协作新标杆

在现代企业中,即时通讯已成为团队沟通和协作的重要组成部分。作为一款创新的即时通讯工具,WorkPlus致力于提供高效、便捷的沟通和协作体验,打造全新的企业沟通标杆。 WorkPlus的出色之处在于其高效的即时通讯能力。无论是团队内部交流还是跨团…

H266/VVC标准的编码结构介绍

概述 CVS: H266的编码码流包含一个或多个编码视频序列(Coded Video Swquence,CVS),每个CVS以帧内随机接入点(Intra Random Access Point, IRAP)或逐渐解码刷新(Gradual …

MySQL 教程 2.2

MySQL WHERE 子句 我们知道从 MySQL 表中使用 SELECT 语句来读取数据。 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。 WHERE 子句用于在 MySQL 中过滤查询结果,只返回满足特定条件的行。 语法 以下是 SQL SELECT 语句使用 WH…

项目实战:自动驾驶之方向盘操纵

项目介绍 根据汽车前方摄像头捕捉的画面,控制汽车方向盘转动的方向和角度,这是自动驾驶要解决的核心问题。这个项目主要是通过使用深度神经网络解决一个回归问题。不同于分类、识别场景,回归问题中神经网络输出的是一个连续的值。 通过这个项目的学习,可以将神经网络用于通…

Python开源项目周排行 2023年第40周

Python 趋势周报,按周浏览往期 GitHub,Gitee 等最热门的Python开源项目,入选的项目主要参考GitHub Trending,部分参考了Gitee和其他。排名不分先后,都是当周相对热门的项目。 入选公式=70%GitHub Trending20%Gitee10%其他 关注微…

CSS 的背景属性(开发中常用)

目录 1 内容预览 背景颜色 背景图片 背景平铺 背景图片位置(常用) 背景图像固定 背景复合写法 背景色半透明 实现案例 1 内容预览 背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。 注意: 把表格中的五个属背下来&#xff0c…

搞懂这6 个持续集成工具,领先80%测试人!

开发人员喜欢把写的代码当成自己的孩子,他们会被当成艺术品一样呵护。作为家长,总是会认为自己的孩子是最好的,也会尽全力给自己的孩子最好的,就算有时候会超出自己的能力范围。 最终,孩子会走出去,和其他…

京东看数据-京东运营数据分析-10月宠物市场销售数据分析(宠物店铺数据查询)

近年来,宠物成为越来越多家庭的成员,宠物数量不断增长,“宠物经济”异军突起,成为消费市场中特殊的存在。“撸猫”“吸狗”正迅速成为人们交际的热门谈资,宠物经济也迈入快速发展阶段。 根据鲸参谋电商数据分析平台的相…

fckeditor编辑器改造示例:增加PRE,CODE控件

查看专栏目录 Network 灰鸽宝典专栏主要关注服务器的配置,前后端开发环境的配置,编辑器的配置,网络服务的配置,网络命令的应用与配置,windows常见问题的解决等。 文章目录 修改方法:1)修改fckco…

JS基本语法

JS基本语法 变量数据类型原始数据类型 函数定义第一种方式第二种方式 JS 对象ArrayStringJavaScript 自定义对象JSONDOMBOM JS 事件事件监听事件绑定常见事件 变量 数据类型 原始数据类型 函数定义 第一种方式 第二种方式 JS 对象 Array String JavaScript 自定义对象 JSON …

VR汽车技术服务虚拟仿真实训平台更好地辅助职业上岗培训

VR汽车虚拟仿真教学软件是一种基于虚拟现实技术的教学辅助工具。它能够模拟真实的汽车环境和操作场景,让学生能够通过虚拟仿真来学习和实践汽车相关知识和技能。 与传统的教学方式相比,VR汽车虚拟仿真教学软件具有更高的视觉沉浸感和互动性,能…

19.Tomcat搭建

Tomcat 简介 Tomcat的安装和启动 前置条件 • JDK 已安装(JAVA_HOME环境变量已被成功配置) Windows 下安装 访问 http://tomcat.apache.org ⇒ 左侧边栏 “Download” 2. 解压缩下载的文件到 “D:\tomcat”, tomcat的内容最终被解压到 “D:\tomcat\apache-tomcat-9.0.84” 3.…

Stable LM Zephyr 3B:手机上的强大LLM助手

概览 最近,Stability.ai宣布开源了Stable LM Zephyr 3B,这是一个30亿参数的大语言模型(LLM),专为手机、笔记本等移动设备设计。其突出的特点是参数较小、性能强大且算力消耗低,能够自动生成文本、总结摘要…

PLC-Recorder V3 修改服务器和客户端通讯端口的方法

PLC-Recorder V3是服务器和客户端的架构,他们之间用TCP通讯。如果客户端无法与服务器建立连接(重启也无效,并且确保没有老版本的PLC-Recorder在运行),则可能是端口被占用了。这时候需要修改他们之间的通讯端口&#xf…