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

基于 YOLOv8 和 Streamlit 搭建视频实时目标跟踪与分割 Web 应用的完整流程

计算机视觉技术的快速发展使得实时目标检测与分割在多个领域得到广泛应用。本文将详细解析如何结合 YOLOv8 算法与 Streamlit 框架,构建一个功能完善的视频实时目标跟踪与分割 Web 应用。通过这个方案,开发者可以快速实现从模型集成到 Web 界面开发的全流程,最终部署一个能够处理多种视频源的交互式目标检测系统。

YOLOv8 与 Streamlit 技术融合分析

YOLOv8 作为当前主流的实时目标检测算法,在保持检测速度优势的同时,进一步提升了检测精度和功能扩展性。该算法将目标检测问题转化为单一的回归任务,通过一个神经网络直接输出目标的类别和边界框坐标,这种设计使其特别适合实时处理场景。相比前几代版本,YOLOv8 不仅支持目标检测,还原生集成了实例分割功能,能够精确描绘出目标的轮廓,这为复杂场景下的应用提供了更多可能性。

Streamlit 框架则解决了机器学习模型可视化的痛点。作为一个轻量级的 Python 库,它允许开发者无需掌握复杂的前端技术,就能快速创建美观且交互性强的 Web 应用界面。通过简洁的 API 设计,Streamlit 能够将数据处理和模型推理结果实时展现在网页上,大大降低了 AI 技术落地的门槛。

将 YOLOv8 的检测能力与 Streamlit 的界面优势相结合,可以构建出兼具高性能和易用性的应用系统。这种组合特别适合智能监控、交通分析、生产线检测等需要实时处理和直观展示的场景。用户可以通过网页界面轻松调整检测参数,上传不同类型的媒体文件,并即时查看处理结果,整个过程无需编写任何代码。

环境配置

开发环境的正确配置是项目成功的基础。该应用对运行环境有一定要求,Python 版本需 3.6 或更高,推荐使用 3.8 至 3.10 版本以获得最佳兼容性。操作系统方面,Windows、Linux 和 macOS 均可支持,但在 Windows 系统下可能需要额外配置一些依赖项。

虚拟环境管理是项目开发的最佳实践,Anaconda 提供了便捷的环境隔离方案。通过创建独立的虚拟环境,可以避免依赖包之间的冲突。具体步骤如下:首先打开 Anaconda Prompt,创建名为 "st" 的虚拟环境并指定 Python 版本:conda create -n st python=3.10。完成环境创建后,通过conda activate st命令激活该环境,确保后续安装的依赖包都局限在这个隔离环境中。

核心依赖包的安装是配置过程的关键环节。YOLOv8 的官方实现包含在 ultralytics 库中,而处理 YouTube 视频链接则需要 pytube 库。通过以下命令可以安装主要依赖:pip install ultralytics pytube11 streamlit。对于需要 GPU 加速的场景,还需确保安装与系统 CUDA 版本匹配的 PyTorch,通常推荐安装 2.0 以上版本以获得更好的性能。

项目结构的合理组织有助于后续开发和维护。建议创建以下目录结构:weights 目录用于存放预训练模型权重,videos 和 images 目录分别用于存储待处理的视频和图片文件。这种结构清晰分离了不同类型的资源文件,便于代码中的路径管理。

模型集成

YOLOv8 模型的集成是整个应用的核心环节。首先需要获取预训练模型权重文件,官方提供了不同规模的模型供选择,从 nano 到 xlarge,平衡了速度和精度的需求。下载完成后,将权重文件放置在之前创建的 weights 目录下,应用程序会自动加载这些文件。

在代码层面,通过 ultralytics 库提供的 API 可以轻松调用 YOLOv8 模型。创建模型实例的代码非常简洁:from ultralytics import YOLO; model = YOLO('weights/yolov8n.pt')。根据需要检测或分割的任务类型,模型会自动调整其输出格式。检测模式下输出目标边界框和类别信息,分割模式则额外提供目标的掩码数据。

模型配置的灵活性是提升用户体验的重要方面。应用应当允许用户根据实际场景调整关键参数,其中最主要的是置信度阈值。通过设置不同的阈值(通常范围在 25% 到 100% 之间),可以平衡检测结果的精确度和召回率。较低的阈值会检测出更多潜在目标,但可能包含误检;较高的阈值则更为严格,可能会漏检一些模糊目标。

对于有特定需求的用户,模型微调功能不可或缺。通过准备自定义数据集并使用 YOLOv8 的训练接口,可以针对特定目标类别优化模型性能。微调过程需要配置数据集路径、训练轮次、学习率等参数,这部分功能可以通过配置文件或高级设置界面提供给用户。

交互式 Web 界面构建

Streamlit 框架极大简化了 Web 界面开发流程,仅需少量代码即可创建功能完备的交互界面。应用界面设计应遵循直观易用原则,通常包含导航区域、参数设置区域、媒体上传区域和结果展示区域等核心模块,确保用户能够快速掌握操作流程。

首页作为用户的第一个接触点,应当清晰展示应用的主要功能和使用方法。可以设计一个欢迎界面,简要介绍系统功能特点,并提供进入不同功能模块的入口。例如,通过 Streamlit 的按钮组件实现 "图片检测"、"视频检测" 和 "实时流检测" 之间的切换,使用户能够根据需求快速导航到相应功能。

图片检测界面需要包含文件上传组件和结果展示区域。使用st.file_uploader函数可以轻松实现图片上传功能,用户点击 "浏览文件" 按钮选择本地图片后,应用将自动加载并显示原始图片。检测按钮触发模型推理后,结果图片会直接显示在界面上,包含标注了边界框、类别名称和置信度的目标,使用户能够直观了解检测效果。

分割任务界面与检测界面类似,但需要额外处理掩码数据的可视化。在展示分割结果时,不仅要绘制目标边界框,还要根据掩码信息填充不同颜色,使每个目标实例清晰可辨。Streamlit 的图像显示功能支持叠加绘制,这为同时展示原始图像和分割结果提供了便利,帮助用户更好地理解模型的分割能力。

界面美化虽然不是核心功能,但对提升用户体验至关重要。Streamlit 提供了多种布局和样式调整选项,如使用 columns 创建多列布局,通过 markdown 语法添加标题和说明文字,以及自定义主题颜色等。适当的留白和分组可以使界面更加专业和易用,减少用户的操作认知负担。

多源视频处理系统实现

视频处理是应用中技术复杂度较高的部分,需要高效协调视频读取、模型推理和结果展示三个环节。对于本地视频文件,首先需要将其放置在 videos 目录下,并在配置文件中设置正确的路径。应用读取视频文件后,会逐帧进行处理,将检测结果实时绘制到每一帧上,最后合成为新的视频流展示给用户,确保处理过程的流畅性。

处理不同类型的视频源需要针对性的解决方案。RTSP 流通常来自 IP 摄像头,通过 OpenCV 的 VideoCapture 接口可以直接读取;YouTube 视频链接则需要借助 pytube 库解析并提取视频流;对于 UDP 流等特殊来源,可能需要额外的网络配置和协议支持。应用应当对不同来源的视频流提供统一的处理接口,降低用户的使用复杂度。

实时性是视频处理的关键指标,特别是在实时监控场景下。为了提升处理速度,可以采用多种优化策略:使用 GPU 加速模型推理、降低视频分辨率、减少处理帧率等。在 CPU 环境下,可能需要选择更轻量级的模型,如 YOLOv8 nano 版本,以保证基本的实时性,确保应用在不同硬件配置下都能正常工作。

结果的交互与导出功能增强了应用的实用性。用户应当能够查看检测结果的详细信息,如目标类别分布统计;支持下载处理后的视频或图片;对于关键帧,可以提供单独保存功能。这些功能通过 Streamlit 的文件下载组件和数据展示功能可以轻松实现,提升应用的实用价值。

系统测试与质量保障

全面的功能测试是确保应用质量的重要步骤,建立系统化的测试流程能够有效提升应用的可靠性和稳定性。测试计划应覆盖不同维度:首先是兼容性测试,验证应用在不同操作系统、浏览器和设备上的表现;其次是功能测试,确保所有按钮、滑块和上传功能正常工作;性能测试则关注不同视频源和模型配置下的处理速度和资源占用,确保应用在各种场景下都能提供良好体验。

视频源兼容性测试需要验证各类输入的处理能力。测试用例应包括不同格式(MP4、AVI 等)、不同分辨率和帧率的本地视频;通过 RTSP 协议连接的网络摄像头;以及 YouTube 视频链接的解析和处理。对于每种源,需要检查视频是否能够正常加载,检测结果是否准确显示,确保应用具备广泛的视频源支持能力。

目标检测准确性测试可以使用标准数据集或已知结果的媒体文件。通过对比模型输出与预期结果,可以评估不同参数配置下的性能表现。例如,使用包含 100 个行人的视频序列,统计正确检测的数量、误检和漏检情况,计算精确率和召回率等指标,为用户提供参数调整的参考依据。

性能瓶颈分析对于优化应用至关重要,能够帮助开发者识别系统中的性能短板并进行针对性优化。使用系统监控工具观察 CPU、内存和 GPU 的使用情况,识别可能的性能瓶颈。常见问题包括视频解码效率低下、模型推理耗时过长、界面渲染延迟等。针对这些问题,可以采取相应的优化措施,如使用硬件加速解码、模型量化或异步处理等技术,提升应用的整体性能。

应用部署与分发策略

应用开发完成后,部署是使其真正发挥价值的最后一步,选择合适的部署策略能够有效提升应用的可访问性和可用性。Streamlit Cloud 提供了最简单的部署方式,只需将代码仓库连接到平台,即可自动构建和部署应用,无需复杂的服务器配置。这种方式特别适合原型展示和小规模使用,能够快速将应用推向用户。

对于生产环境部署,可能需要更灵活的方案以满足更高的性能和安全性要求。可以将应用打包为 Docker 容器,部署到私有服务器或云平台上。这种方式可以更好地控制资源分配,配置 GPU 支持,并实现负载均衡。部署脚本应当自动化环境配置、依赖安装和服务启动的过程,简化维护工作,确保部署过程的一致性和可靠性。

访问控制和安全性在公开部署时需要重点考虑,保护用户数据和系统资源的安全。对于需要限制使用的应用,可以添加登录认证功能,验证用户身份后才允许访问检测功能。一些项目实现了带有用户名密码验证的登录界面,这可以通过 Streamlit 的会话状态和表单功能实现,无需复杂的 Web 安全知识,降低安全实现的技术门槛。

应用分享和反馈收集是持续改进的基础,建立良好的用户反馈机制能够帮助应用不断优化。通过分享应用链接,可以邀请用户测试并收集反馈意见;集成简单的用户反馈机制,如评分和评论功能,帮助识别使用痛点;定期分析应用使用数据,了解最常用的功能和遇到的错误,指导后续开发方向,形成应用迭代的良性循环。

总结与展望

基于 YOLOv8 和 Streamlit 的视频实时目标跟踪与分割 Web 应用展示了计算机视觉技术民主化的可能性。通过简化模型集成和界面开发流程,这个方案使得复杂的目标检测技术能够被更多非专业用户使用,应用场景从智能监控扩展到交通分析、工业质检等多个领域,推动 AI 技术的广泛应用。

项目开发过程中积累的经验可以归纳为几个关键点:环境配置的标准化有助于避免依赖冲突;模块化的代码结构提高了可维护性;充分的错误处理增强了系统稳定性;用户体验设计应当优先于技术实现。这些原则对于类似的 AI 应用开发具有普遍参考价值,能够指导开发者构建更高质量的应用系统。

未来发展方向主要集中在几个方面:模型优化方面,可以探索更轻量级的模型架构或模型压缩技术,进一步提升实时性能;功能扩展方面,加入目标计数、轨迹分析等高级功能;交互体验方面,开发更直观的参数调整方式和更丰富的结果可视化;部署优化方面,研究边缘设备部署方案,减少云端依赖,提升系统的灵活性和隐私保护性。

随着计算机视觉和 Web 技术的不断进步,这类应用的性能和易用性还将持续提升。YOLOv8 与 Streamlit 的组合代表了一种趋势:强大的 AI 能力与友好的用户界面之间的无缝衔接,这种趋势正在推动 AI 技术从专业领域走向更广泛的实际应用,为各行业的智能化转型提供有力支持。来源上海颖桂磁业有限公司

 

相关文章:

基于 YOLOv8 和 Streamlit 搭建视频实时目标跟踪与分割 Web 应用的完整流程

计算机视觉技术的快速发展使得实时目标检测与分割在多个领域得到广泛应用。本文将详细解析如何结合 YOLOv8 算法与 Streamlit 框架,构建一个功能完善的视频实时目标跟踪与分割 Web 应用。通过这个方案,开发者可以快速实现从模型集成到 Web 界面开发的全流程,最终部署一个能够…...

win10休眠失败_自动启动 解决办法

************************************************** *********************** ***************** 每个文章内容都是测试有效的...

新人必看:入职第一个月,如何快速熟悉业务并开始测试?

作为一名刚加入团队的新人测试工程师,面对全新的工作环境、陌生的业务领域和复杂的技术栈,内心既充满期待又不免有些忐忑。如何高效地度过第一个月,快速熟悉业务并开始承担测试任务,是每个新人都在思考的问题。作为一名刚加入团队的新人测试工程师,面对全新的工作环境、陌…...

202210_QQ群_神秘的压缩包

ZIP,CRC碰撞Tags:ZIP,CRC碰撞 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202210_QQ群_神秘的压缩包.zip 某地网安专责截获疑似攻击者用于传送秘密信息的压缩包,请协助该网安专责进行分析。flag格式为fla…...

人闲的时候

可以在猜盐中大展神威! #include<bits/stdc++.h> #include<windows.h> using namespace std; string fu[100100]={"sbdzb","b","p","m","f","d","t","n","l","g…...

第一周作业

第一周作业1.自我介绍 唐潇情 爱好:听歌 刷视频 2.现状、经验和计划 学习过C语言和Java 掌握的基础不扎实 计划是在课上认真听课,课下复习前面掌握不牢的知识,练习代码 目前不知道未来具体做什么工作,先把专业和基础知识学好,有考研的打算 代码量少,基本没有额外练习 在这…...

C# GC

C# GC...

CCPC 2024 郑州 个人题解

目前完成:A、B、C、J、L、M。 待补:D、E、F、G、I、K。比赛链接QOJ 链接题解完成情况A B C D E F G H I J K L M\(\Box\) \(\Box\) \(\Box\) 待补待补 待补\(\Box\) 待补 \(\Box\) \(\Box\)H 是个论文题。 L. Z-曲线 (Z-order Curve)点击查看题意简述 给定二维 Z 形曲线的一个…...

Pollard Rho 分解质因数

Miller_Rabin 判断素数 如果有 \(a^{p-1} \equiv 1(\bmod p)\) ,\(p\) 大概率为质数。但是人们发现有些合数无法被这个式子判掉。 有一个显然成立的式子: \(x^2 \equiv 1 (\bmod p) \rightarrow x^2-1\equiv 0 \rightarrow (x-1)(x+1) \equiv 0\)​ 当 \(p\) 是质数时,\(x\)…...

智慧消防大数据中心

在现代城市化进程不断加快的背景下,消防安全面临着日益复杂严峻的形势。传统消防模式难以满足大体量、多样化的消防需求。智慧消防大数据中心应运而生,它如同消防领域的 “智慧大脑”,正全方位革新消防工作模式,为生命财产安全筑牢坚实防线。一、建设内容 (一)数据采集层…...

GAS_Aura-Input Config Data Asset

1...

[杂谈] 关于听的音乐

持续更新中,应为开学较忙未能一次整理完。 防止有某些人攻击,叠甲。 以下所有内容仅代表个人观点,没有贬低某歌手或歌曲的意思,如果有不同意见欢迎在评论区讨论,但请保持良好的语言环境。 就是分享一下自己听的音乐吧,虽然Frums的歌手排行中第一是山茶花第二是静屋。 听歌…...

7777

tyyyy...

[豪の学习笔记] 软考中级备考 基础复习#7

基本概念、编译与解释、文法、语法推导树、有限自动机、正规式、表达式、传值与引用、各种程序语言特点跟学视频:学以致知Learning - 软件设计师 基础阶段|考点理论精讲 Chapter 7 - 程序设计语言基础知识 1 - 基本概念 低级语言和高级语言低级语言:通常称机器语言和汇编语言…...

经典面试题目:二叉树遍历

一、 核心定义与性质 二叉树(Binary Tree) 是一种每个节点最多有两个子节点的树形结构。这两个子节点通常被称为左子节点和右子节点。 关键术语:根节点(Root): 树的顶层节点,没有父节点。 叶子节点(Leaf): 没有子节点的节点。 深度(Depth): 从根节点到该节点所经历…...

十、微程序控制器是什么?

目录一言以蔽之一个精妙的比喻:做菜与菜谱核心组成部分(对照比喻)它为什么重要?有什么优点?总结一言以蔽之 微程序控制器是CPU的“灵魂指挥家”,它通过执行预先写好的“微程序”(一套精细的指令步骤)来指挥CPU的各个部件协同工作,从而完成一条条机器指令。一个精妙的比…...

2023CCPC秦皇岛站

define时间:#define itn int #define int long long #define ind long double #define yes cout << "Yes" #define no cout << "No" #define pii pair<long long, long long> #define pci pair<char, int> #define re return;QOJ…...

十一、微程序控制器的组成和工作过程

目录一、微程序控制器的核心思想二、微程序控制器的主要组成部分三、微程序控制器的工作过程(重中之重)四、一个简单的例子一、微程序控制器的核心思想 首先,再次强调其核心思想:将一条机器指令的执行,转化为一段由更简单的“微指令”组成的“微程序”的执行。 这些微程序…...

11

111...

六、数据通路的功能和基本结构

目录1. 数据通路的功能2. 数据通路的基本结构3. 工作流程示例(以加法指令 ADD Rd, Rs, Rt 为例)总结1. 数据通路的功能 数据通路(Data Path) 是中央处理器(CPU)的核心组成部分之一。它的主要功能是为指令的执行提供数字信号(数据、地址)的传输路径和加工场所。 具体来说…...

五、单周期CPU和多周期CPU

目录单周期CPU核心思想工作原理优点缺点多周期CPU核心思想工作原理优点缺点核心差异对比总结与发展计算机组成原理中的两个核心概念:单周期CPU和多周期CPU。 它们是实现CPU控制器的两种经典设计方法,各有其优缺点和设计哲学。单周期CPU 核心思想 单周期CPU的设计理念非常直观…...

七、组合逻辑元件(操作元件)和 时序逻辑元件(状态原件)

目录1. 组合逻辑元件(Combinational Logic Elements)核心特征功能常见示例抽象表示2. 时序逻辑元件(Sequential Logic Elements)核心特征功能常见示例抽象表示对比总结在数据通路中的协同工作在数字电路和计算机组成原理中,几乎所有元件都可以被划分为这两大类:组合逻辑元…...

九、指令、微程序、微指令、微命令、微操作

目录核心比喻:做一道菜(比如“鱼香肉丝”)1. 指令 (Instruction)2. 微操作 (Micro-operation, μop)3. 微命令 (Micro-command)4. 微指令 (Microinstruction)5. 微程序 (Microprogram)梳理总结与记忆口诀核心比喻:做一道菜(比如“鱼香肉丝”) 我们把执行一条CPU指令(比如…...

八、CPU控制器的功能和工作原理

目录一、CPU控制器是什么?二、控制器的核心功能三、控制器的工作原理1. 硬布线控制器(Hardwired Control)2. 微程序控制器(Microprogrammed Control)四、现代控制器的演变总结一、CPU控制器是什么? CPU(中央处理器)是计算机的大脑,而控制器(Control Unit, CU) 则是这…...

Linux命令实践

课上测试 作业题目:Linux命令实践 | 学号 | 20131321 | | 姓名 | 王曦轶 | | 日期 | 2025-09-11 | | 实验环境 | Ubuntu |目录实验目的 命令清单与截图 遇到的问题和解决方法 总结与心得实验目的熟练掌握 ls / who / pwd / cd /man/whereis/find/locate/ grep 等高频命令的常…...

Debian 12 解决乱码问题

1.安装中文包apt install -y locales locales-all2.配置本地化设置dpkg-reconfigure locales勾选 中文apt install -y fonts-wqy-zenhei fonts-wqy-microhei xfonts-wqyreboot如果还是不行nano /etc/default/locale## 写入下面的内容 LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8 LC_C…...

软工第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13478这个作业的目标 <初步了解博客的写作;向别人介绍自己;了解Github的基本…...

Kafka的元数据Metadata

元数据是指Kafka集群的元数据,这些元数据具体记录了集群中有哪些主题,这些主题有哪些分区,每个分区的leader副本分配在哪个节点上,follower副本分配在哪些节点上,哪些副本在AR、ISR等集合中,集群中有哪些节点,控制器节点又是哪一个。Kafka 的元数据(Metadata) 正是描述…...

datadome笔记

pYZs00 -> 0 y7S2ew -> 0E9CFE54DD8A 随机数 有 hash 组成 NEvtKJ -> 0 首次执行 为0 ,查看localStorage 里的值 PFLOGM -> 1.17.0 js固定 wugUNB | display window["ddm"]["displayEnabled"] 返回的...

AI 机器视觉检测方案:破解食物包装四大质检难题,筑牢食品安全防线

在食品生产领域,包装盒或包装袋作为食品的直接包装载体,其质量优劣直接关系到食品安全与企业声誉。传统人工质检在应对食物包装生产的高速节奏与复杂质量问题时,逐渐暴露出诸多局限性,成为企业发展的瓶颈。而 AI 视频检测技术的出现,犹如一把 “智能利剑”,精准且高效地斩…...

Tkinter 多线程并行任务开发:从秒数丢失到完整显示的踩坑与解决

在 Tkinter 桌面应用开发中,多线程是解决 UI 卡顿的常用方案,但新手很容易在 "线程安全" 和 "UI 更新" 上踩坑。本文记录了一次 Tkinter 多线程并行任务开发中的典型问题:函数执行秒数丢失、最后一秒不显示,以及对应的排查思路和解决方法,适合 Tkinte…...

和你的推式子过一辈子去吧。

问题 给定若干个数 \(a_1 \dots a_n\),\(q\) 次询问,或单点修改,或询问第 \(i\) 个数取 \([0,a_i]\) 中任意数时,\(n\) 个数异或和是 \(z\) 的方案数。 本题的正确做法应该是贪心,但是我的贪心能力为 \(0\),就十分诡异地发现这个东西可以推式子推出来。 一些记号:\(\tex…...

NKOJ全TJ计划——NP1397

题目内容 有一条河,左边一个石墩(A区)上有编号为\(1\backsim n\)的只青蛙,河中有个\(k\)荷叶(C区),还有个\(h\)石墩(D区),右边有一个石墩(B区),如下图所示。\(n\)只青蛙要过河(从左岸石墩A到右岸石墩B),规则为: 石墩上可以承受任意多只青蛙,荷叶只能承受一只青蛙(不论大…...

LT9211C 芯片使用

配置文件: LT9211C_Main.h DrvTtlRx.c 添加屏时序参数 ModTtlRx.h ModMipiTx.h...

枚举类型

在实际的编程应用中,有的变量只有几种可能的取值,譬如说一个家族的几个成员,性别的两种可能等等。C++为这种类型的变量的定义提供了enum关键字。要使用枚举类型的变量,首先需要先定义一个枚举类型名,再声明变量是该枚举类型的。 一、枚举类型的定义 1、定义方式: enum 枚…...

用 C++ + OpenCV + Tesseract 实现英文数字验证码识别(完整可跑)

本文展示如何用 C++ 结合 OpenCV 做图像预处理,再调用 Tesseract OCR 识别验证码。适用于希望在高性能后端或本地服务里集成 OCR 的场景。方案包含: 环境与依赖安装 图像预处理(灰度、二值化、形态学去噪、放大) 使用 Tesseract API 调用(设定白名单、PSM) 完整 C++ 示例…...

2025中国HR SaaS市场分析与选型指南

引言:HR SaaS——企业数字化转型的核心驱动力 2025年,中国HR SaaS市场正站在一个关键的十字路口。随着企业对人力资源战略价值的重新认知,以及人工智能、云计算等前沿技术的深度融合,HR SaaS已不再是简单的管理工具,而是企业实现数字化转型、提升人才竞争力的核心驱动力。…...

jenkins部署消息发送至钉钉--jenkins配置

jenkins配置: 1、点击进入设置页面 2、点击进入插件管理页 3、安转钉钉插件 4、安装后,点击进入 5、输入前面复制的webhook,和钉钉那输入的关键字,保存应用后就配置成功了...

android java层字符串加密对抗

常见的字符串加密格式 来源以及熟悉 1)stringfog插件实现对抗方法 1)dex转换jar2)jar加载对应的解密方法3)遍历文件定位加密函数的位置以及参数4)主动调用以及加密 -- 后期可以把结果覆盖重新打包jadx加载可以还原...

Windows10 RDP远程桌面连接被控端wifi自动断开解决

操作系统: win10 wifi协议: Wi-Fi 6 (802.11ax) 安全类型: WPA2-企业 登录信息的类型: Microsoft: 受保护的 EAP (PEAP)现象 使用frp暴露端口到公网,使用window rdp登录到被控端时,连接配置处理,然后被控端黑屏,wifi端口,导致连接不上。 原因 由于wifi是需要企业认证的,并…...

2025春季杭电多校4题解

进入正题 1004这道题没写出来最后,但依然有所收获。正如题解所说,像这种一大堆操作得到某种符合设定的东西,然后进行计数的题,往往都需要一个简洁的性质。这种性质不是手模样例搞出来的,就是猜出来的。但是像我这种蒟蒻,脑电波不容易对上的,模又模不出来,猜也猜不对,拿…...

2025春季杭电多校5题解

1009这么能猜?这个数据范围,对博弈论来说一定存在某种结论。故这题是结论题。设\(dp[n]\)表示有\(n\)个物体时敌方先手,我的胜率。则敌方先手后轮到我时有n-1或者n-4个物体,我再取物体。我取物体时肯定要的是胜率最大,所以有转移方程\(dp[n]=\frac{1}{2}*max(dp[n-1-1],dp[…...

Window10 关闭Edge浏览器的多选项卡通过Alt+Tab组合键切换的方式

在系统设置页面。 进行如下操作即可。这里就设置为图中的选项即可。之后切换的时候就会对Edge浏览器窗口级别进行切换了,不会再出现Alt+Tab组合键对Edge浏览器的选项卡级别的切换了。复制请注明出处,在世界中挣扎的灰太狼...

云行 | 国云聚智 AI甬动,天翼云中国行宁波站成功举办!

近日,以“国云聚智 AI甬动”为主题的天翼云中国行宁波站暨2025浙江电信AI+产业融合创新主题活动在宁波成功举办。作为第十五届智慧城市与智能经济博览会的重要组成部分,本次活动邀请到宁波市人民政府副市长金珊,宁波市人民政府副秘书长虞礼勇,宁波市通信管理局局长杨碧慧,…...

2025春季杭电多校3题解

翻车了 1005 没什么好说的,并查集维护就行 void solve(){int n;cin>>n;map<int,bool>vis;vector<int>a(n+1);for(int i=1;i<=n;i++){cin>>a[i];vis[i]=true;}vector<int>fa(n+1);iota(fa.begin(),fa.end(),0);auto find=[&](int x)->…...

华为鸿蒙(4.0)应用开发(4)—ArkTs开发语言 – 每天进步一点点

文链接:华为鸿蒙(4.0)应用开发(4)—ArkTs开发语言 – 每天进步一点点 鸿蒙4.0用的编程语言是ArkTs。它是在TypeScript的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。 简单来说,TypeScript是JavaScript的超集…...

【人工智能通识专栏】第十讲:阅读理解 - 指南

【人工智能通识专栏】第十讲:阅读理解 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !i…...

jenkins部署消息发送至钉钉--钉钉配置

钉钉配置: 1、在群设置里面点击机器人选项 2、点击添加机器人 3、选择自定义机器人 4、然后安全设置选择关键字就行,简单,内容随便输个 5、点击完成后会自动生成webhook,复制下来,钉钉这边的配置就完成了...

HyperWorks许可规划

在当今竞争激烈的工程设计与仿真市场中,高效且经济的资源管理成为企业成功的关键。HyperWorks作为一款功能强大的工程仿真软件,其许可规划功能帮助用户科学、合理地规划和管理许可资源,确保资源的高效利用,进而推动业务的持续增长。 什么是HyperWorks许可规划? HyperWorks…...

[GCJ 2015 #3] River Flow

定义函数 \(f_t(x)=\left\lfloor\dfrac{x}{2^t}\right\rfloor \bmod 2\),也就是周期为 \(2^{t+1}\) 的值域为 \([0,1]\) 的方波。 现在给定你一个离散函数 \(g\) 的长为 \(n\) 的片段,问你能不能将他表示为若干个如下函数的和: \[g(x)=\sum_ik_if_{t_i}(x+b_i) \]如果能,构…...