# 进度环组件开发实战:HarmonyOS ArkTS 动态环形进度条应用解析
一、应用概述进度环Ring Progress是一种以环形方式展示进度的可视化组件相较于传统的水平进度条进度环具有更紧凑的布局、更美观的视觉效果和更直观的百分比展示能力。本文将以 HarmonyOS ArkTS 框架为基础详细解析一个功能完善的动态进度环组件的开发过程该组件支持百分比显示、颜色渐变、动画过渡和自定义配置等核心功能。1.1 功能特性环形进度显示以圆弧方式直观展示 0% 到 100% 的进度百分比数值显示环中心实时显示当前百分比数值颜色随百分比变化进度环颜色根据进度的不同阶段自动变化如低分为红色中分为橙色高分为绿色平滑动画过渡进度变化时伴随平滑的圆弧增长动画可自定义配置环的尺寸、颜色、宽度、起始角度等均可配置多种颜色模式支持固定颜色、渐变色和分段颜色三种模式1.2 适用场景数据仪表盘展示健康应用步数/卡路里目标追踪课程学习进度存储空间使用情况下载/上传进度展示游戏经验值/等级进度1.3 技术亮点进度环组件的核心在于利用 Canvas 绘制能力和动画系统实现流畅的圆弧动画是探索 ArkTS 图形绘制能力的经典案例。二、技术架构2.1 整体架构┌──────────────────────────────────────────┐ │ RingProgressContainer │ │ 进度环容器组件 │ ├──────────────────────────────────────────┤ │ ┌────────────────────────────────────┐ │ │ │ Canvas 绘制层 │ │ │ │ ┌─────背景圆弧─────┐ │ │ │ │ │ ┌─进度圆弧─┐ │ │ │ │ │ │ │ 中心文字 │ │ │ │ │ │ │ └─────────┘ │ │ │ │ │ └─────────────────┘ │ │ │ └────────────────────────────────────┘ │ │ │ │ ┌────────────────────────────────────┐ │ │ │ 信息展示区 │ │ │ │ 标题 | 当前值/目标值 │ │ │ └────────────────────────────────────┘ │ └──────────────────────────────────────────┘2.2 核心数据结构// 进度环配置接口 interface RingProgressConfig { size: number; // 组件尺寸宽高相同 ringWidth: number; // 环的宽度 backgroundColor: ResourceColor; // 背景圆弧颜色 progressColor: ResourceColor; // 进度圆弧颜色单色模式 useGradient: boolean; // 是否使用渐变色 gradientColors: ResourceColor[]; // 渐变色数组 useSegmentColors: boolean; // 是否使用分段颜色 segmentConfig: SegmentColor[]; // 分段颜色配置 startAngle: number; // 起始角度默认 -90从顶部开始 maxValue: number; // 最大值默认 100 showPercentage: boolean; // 是否显示百分比文字 animationDuration: number; // 动画时长毫秒 roundCap: boolean; // 是否圆角端点 } // 分段颜色配置 interface SegmentColor { threshold: number; // 阈值百分比 color: ResourceColor; // 对应颜色 } // 默认分段颜色配置 const DEFAULT_SEGMENT_CONFIG: SegmentColor[] [ { threshold: 33, color: #FF4444 }, // 0-33%红色 { threshold: 66, color: #FFA500 }, // 33-66%橙色 { threshold: 100, color: #4CAF50 } // 66-100%绿色 ];2.3 组件状态管理State currentProgress: number → 当前进度值驱动动画 State displayPercentage: number → 显示的百分比整数 State isAnimating: boolean → 是否正在动画中 private targetProgress: number → 目标进度值 private animationStartValue: number → 动画起始值 private animationId: number → 动画帧 ID三、核心代码分析3.1 进度环主体组件进度环的核心是使用 Canvas 组件进行圆弧绘制这是 ArkTS 中实现自定义图形的最佳方式。Component struct RingProgress { private config: RingProgressConfig; State currentProgress: number 0; State displayPercentage: number 0; private canvasWidth: number 0; private canvasHeight: number 0; // 获取当前进度对应的颜色 get activeColor(): ResourceColor { if (this.config.useSegmentColors) { const percentage (this.currentProgress / this.config.maxValue) * 100; for (const seg of this.config.segmentConfig) { if (percentage seg.threshold) { return seg.color; } } return this.config.segmentConfig[this.config.segmentConfig.length - 1].color; } if (this.config.useGradient) { // 渐变色模式返回第一个颜色实际渐变在 Canvas 中实现 return this.config.gradientColors[0]; } return this.config.progressColor; } build() { Stack() { // Canvas 绘制区域 Canvas(this.drawRing.bind(this)) .width(this.config.size) .height(this.config.size) .onReady(() { // Canvas 就绪后开始动画 this.animateToProgress(this.targetProgress); }) // 中心文字 if (this.config.showPercentage) { Column({ space: 4 }) { Text(${this.displayPercentage}%) .fontSize(this.config.size * 0.18) .fontWeight(FontWeight.Bold) .fontColor(this.activeColor) .animation({ duration: this.config.animationDuration, curve: Curve.EaseOut }) if (this.config.maxValue ! 100) { Text(${Math.round(this.currentProgress)}/${this.config.maxValue}) .fontSize(this.config.size * 0.08) .fontColor(#999999) } } } } .width(this.config.size) .height(this.config.size) } // Canvas 绘制方法 drawRing(context: CanvasRenderingContext2D) { const width this.config.size; const height this.config.size; const centerX width / 2; const centerY height / 2; const radius (width - this.config.ringWidth) / 2; const startAngle (this.config.startAngle * Math.PI) / 180; // 清空画布 context.clearRect(0, 0, width, height); // 1. 绘制背景圆弧 context.beginPath(); context.arc(centerX, centerY, radius, startAngle, startAngle 2 * Math.PI); context.lineWidth this.config.ringWidth; context.strokeStyle this.config.backgroundColor as string; context.stroke(); // 2. 计算进度圆弧的角度 const progressRatio this.currentProgress / this.config.maxValue; const progressAngle 2 * Math.PI * progressRatio; const endAngle startAngle progressAngle; // 3. 绘制进度圆弧 context.beginPath(); context.arc(centerX, centerY, radius, startAngle, endAngle); context.lineWidth this.config.ringWidth; // 设置端点样式 if (this.config.roundCap) { context.lineCap round; } // 设置颜色支持渐变 if (this.config.useGradient this.config.gradientColors.length 1) { const gradient context.createLinearGradient( centerX - radius, centerY, centerX radius, centerY ); this.config.gradientColors.forEach((color, index) { gradient.addColorStop(index / (this.config.gradientColors.length - 1), color as string); }); context.strokeStyle gradient; } else { context.strokeStyle this.activeColor as string; } context.stroke(); // 4. 绘制端点装饰可选 if (progressRatio 0 this.config.roundCap) { // 在进度终点绘制小圆点 const dotAngle endAngle; const dotX centerX radius * Math.cos(dotAngle); const dotY centerY radius * Math.sin(dotAngle); context.beginPath(); context.arc(dotX, dotY, this.config.ringWidth / 2, 0, 2 * Math.PI); context.fillStyle this.activeColor as string; context.fill(); } } }Canvas 绘制要点角度计算startAngle默认为-90°从正上方开始顺时针旋转。进度角度为2π * progressRatio。双圆弧绘制先绘制灰色背景圆弧再在之上绘制彩色进度圆弧通过 Canvas 的叠加绘制实现多层效果。渐变支持使用createLinearGradient创建线性渐变将渐变应用到进度圆弧上。圆角端点通过lineCap round实现圆角效果同时额外绘制一个小圆点增强视觉效果。3.2 进度动画实现进度变化的动画通过 ArkTS 的动画 API 实现平滑过渡// 方式一使用 animateTo 显式动画 animateToProgress(targetValue: number) { // 限制目标值范围 const clampedTarget Math.max(0, Math.min(targetValue, this.config.maxValue)); animateTo({ duration: this.config.animationDuration, curve: Curve.FastOutSlowIn, onFinish: () { this.isAnimating false; } }, () { // 在动画闭包中修改状态框架自动插值 this.currentProgress clampedTarget; this.displayPercentage Math.round((clampedTarget / this.config.maxValue) * 100); }) } // 方式二使用定时器实现逐帧动画 animateProgressStepByStep(from: number, to: number) { const duration this.config.animationDuration; const steps 60; // 60帧 const stepValue (to - from) / steps; const interval duration / steps; let currentStep 0; const timerId setInterval(() { currentStep; if (currentStep steps) { clearInterval(timerId); this.currentProgress to; this.displayPercentage Math.round((to / this.config.maxValue) * 100); return; } // 使用缓动函数计算当前值 const t currentStep / steps; const easedT this.easeOutCubic(t); const value from (to - from) * easedT; this.currentProgress value; this.displayPercentage Math.round((value / this.config.maxValue) * 100); }, interval); } // 缓动函数 easeOutCubic(t: number): number { return 1 - Math.pow(1 - t, 3); }推荐使用方式一animateTo原因如下框架级别的动画调度性能更优自动处理动画过程中的帧同步支持动画取消和中断代码更简洁易于维护3.3 进度环颜色控制颜色随百分比变化是进度环的核心交互特征// 根据百分比获取对应的分段颜色 getSegmentColor(percentage: number): ResourceColor { // 将分段配置按阈值排序 const sortedConfig [...this.config.segmentConfig] .sort((a, b) a.threshold - b.threshold); for (const seg of sortedConfig) { if (percentage seg.threshold) { return seg.color; } } // 超过最大值使用最后一个颜色 return sortedConfig[sortedConfig.length - 1].color; } // 动态更新颜色 updateColorForProgress(progress: number) { const percentage (progress / this.config.maxValue) * 100; const newColor this.getSegmentColor(percentage); // 颜色变化也伴随动画 animateTo({ duration: 200, curve: Curve.EaseOut }, () { // 颜色属性通过 State 驱动 Canvas 重绘 this.activeColorState newColor; }) }颜色分段设计进度范围颜色心理暗示0% - 33%红色 #FF4444警示、不足、危险33% - 66%橙色 #FFA500提醒、注意、进行中66% - 100%绿色 #4CAF50安全、完成、优秀这套颜色方案符合用户对红-黄-绿的通用认知可以直观地通过颜色判断进度所处的阶段。3.4 使用 Builder 重构子组件Builder RingCanvas(config: RingProgressConfig, progress: number, activeColor: ResourceColor) { Canvas((context: CanvasRenderingContext2D) { const width config.size; const height config.size; const centerX width / 2; const centerY height / 2; const radius (width - config.ringWidth) / 2; const startAngle (config.startAngle * Math.PI) / 180; // 背景圆弧 context.beginPath(); context.arc(centerX, centerY, radius, startAngle, startAngle 2 * Math.PI); context.lineWidth config.ringWidth; context.strokeStyle config.backgroundColor as string; context.stroke(); // 进度圆弧 const progressRatio progress / config.maxValue; const endAngle startAngle (2 * Math.PI) * progressRatio; context.beginPath(); context.arc(centerX, centerY, radius, startAngle, endAngle); context.lineWidth config.ringWidth; context.strokeStyle activeColor as string; if (config.roundCap) context.lineCap round; context.stroke(); }) .width(config.size) .height(config.size) }四、HarmonyOS关键技术应用4.1 Canvas 2D 绘图 APIHarmonyOS 的 Canvas 组件提供了完整的 2D 绘图上下文支持丰富的图形绘制方法核心绘图方法方法说明本应用中的用途beginPath()开始新路径每个圆弧绘制前调用arc(x, y, r, s, e)绘制圆弧绘制环形进度stroke()描边路径渲染圆弧线条fill()填充路径填充中心圆点clearRect()清除矩形区域每帧重绘前清空createLinearGradient()创建线性渐变进度颜色渐变createRadialGradient()创建径向渐变可选的中心发光效果Canvas 绘制优化技巧// 1. 使用 requestAnimationFrame 代替 setInterval animateWithRAF(target: number) { const animate () { // 更新进度值 this.currentProgress (target - this.currentProgress) * 0.1; if (Math.abs(this.currentProgress - target) 0.5) { // 继续动画 requestAnimationFrame(animate); } else { this.currentProgress target; } }; requestAnimationFrame(animate); } // 2. 矩阵变换优化 context.save(); context.translate(centerX, centerY); context.rotate(rotationAngle); // 绘制内容 context.restore(); // 3. 避免频繁的样式设置 // 批量设置样式减少 API 调用 context.strokeStyle color; context.lineWidth width; context.lineCap round; context.beginPath(); // 绘制... context.stroke();4.2 动画系统与 Canvas 的协同进度环组件的动画效果涉及两个层面的协同┌──────────────────────────────┐ │ State 层 │ │ currentProgress 变化触发 │ │ → displayPercentage 更新 │ ├──────────────────────────────┤ │ 动画引擎 │ │ animateTo() 插值计算 │ │ (FastOutSlowIn 曲线) │ ├──────────────────────────────┤ │ Canvas 重绘 │ │ bind(this.drawRing) │ │ 每次 State 变更自动调用 │ └──────────────────────────────┘协同机制animateTo修改State currentProgress的值ArkUI 框架检测到状态变化触发组件重新渲染组件重新执行build()方法Canvas 调用drawRing方法Canvas 根据最新的currentProgress值重新绘制圆弧以上过程每秒执行 60 次形成流畅动画4.3 组件生命周期管理Component struct RingProgress { // ... aboutToAppear() { // 初始化 Canvas 尺寸 this.canvasWidth this.config.size; this.canvasHeight this.config.size; // 如果设置了初始值直接跳转到目标进度无动画 if (this.config.initialProgress 0) { this.currentProgress this.config.initialProgress; this.displayPercentage Math.round( (this.config.initialProgress / this.config.maxValue) * 100 ); } } aboutToDisappear() { // 清除动画 this.isAnimating false; // 清理资源 // Canvas 上下文自动释放 } // 页面显示/隐藏时的处理 onPageShow() { // 页面显示时重新触发动画 if (this.targetProgress 0) { this.animateToProgress(this.targetProgress); } } onPageHide() { // 页面隐藏时暂停动画 this.isAnimating false; } }五、UI设计与交互5.1 视觉设计设计原则简洁直观环形进度 中心百分比文字信息一目了然色彩提示颜色随进度变化提供额外的信息维度动效增强进度变化配合平滑动画提升用户体验尺寸规范组件尺寸200 × 200 px (默认) 环的宽度16 px (默认) 环的半径92 px (默认) 中心文字36 px (约组件尺寸的 18%)配色方案背景环浅灰色#E8E8E8视觉弱化进度环分段模式0-33%红色#FF444433-66%橙色#FFA50066-100%绿色#4CAF50中心文字与进度环当前颜色一致辅助文字灰色#9999995.2 交互反馈进度变化圆弧从起始角度顺时针延伸动画时长 500ms默认颜色过渡当进度跨越分段阈值时颜色平滑过渡非突变数字动画中心百分比数字逐位变化不使用跳变提示信息进度达到 100% 时可触发完成动画如脉冲效果5.3 多状态展示// 空状态0% if (this.currentProgress 0) { // 显示空心环 未开始 提示 } // 进行中 if (this.currentProgress 0 this.currentProgress this.config.maxValue) { // 标准显示 } // 完成100% if (this.currentProgress this.config.maxValue) { // 显示完成特效如脉冲光环 }六、性能优化与最佳实践6.1 Canvas 性能优化// 1. 使用离屏 Canvas 缓存静态元素 private offscreenCanvas: OffscreenCanvas | null null; drawRing(context: CanvasRenderingContext2D) { // 绘制背景环只绘制一次缓存到离屏 Canvas if (!this.offscreenCanvas) { // 创建离屏 Canvas // 绘制背景环到离屏 Canvas } // 将背景环绘制到主 Canvas context.drawImage(this.offscreenCanvas, 0, 0); // 只重新绘制进度环动态部分 this.drawProgressArc(context); } // 2. 限制重绘频率 private lastDrawTime: number 0; private readonly MIN_DRAW_INTERVAL 16; // ~60fps drawRing(context: CanvasRenderingContext2D) { const now Date.now(); if (now - this.lastDrawTime this.MIN_DRAW_INTERVAL) { return; // 跳过此次绘制 } this.lastDrawTime now; // 实际绘制逻辑 } // 3. 使用整数坐标 context.arc( Math.round(centerX), Math.round(centerY), Math.round(radius), startAngle, endAngle );6.2 状态更新优化// 批量更新状态减少触发重绘次数 updateProgress(newProgress: number) { const clampedProgress Math.max(0, Math.min(newProgress, this.config.maxValue)); // 使用 partialUpdate 批量更新 animateTo({ duration: this.config.animationDuration, curve: Curve.EaseOut }, () { // 在一个动画闭包中同时更新多个状态 this.currentProgress clampedProgress; this.displayPercentage Math.round((clampedProgress / this.config.maxValue) * 100); this.activeColor this.getSegmentColor(this.displayPercentage); }) }6.3 最佳实践总结实践说明使用onReady事件确保 Canvas 初始化完成后再绘制避免setInterval优先使用animateTo或requestAnimationFrame颜色缓存将颜色值缓存为状态变量避免重复计算尺寸预设Canvas 尺寸在aboutToAppear中预设避免动态计算清理资源在aboutToDisappear中清理动画和定时器七、总结与扩展思路7.1 项目总结本文详细解析了基于 HarmonyOS ArkTS 框架的进度环组件开发核心内容包括Canvas 2D 绘图掌握圆弧绘制、路径管理、渐变填充等绘图技术动画系统使用animateTo实现状态驱动的平滑动画颜色管理分段颜色和渐变颜色的实现策略组件封装将进度环封装为可配置的自定义组件性能优化Canvas 绘制优化和状态更新优化7.2 扩展思路功能增强多环叠加多个进度环叠加显示如总进度 子进度仪表盘风格将环形改为半圆或扇形模拟汽车仪表盘自定义刻度在环上增加刻度标记数据标注在进度环上标注关键节点如目标值标记交互升级点击交互点击进度环显示详细信息拖拽调节用户可通过拖拽圆弧调整进度值手势缩放双指缩放查看详情进度预览悬停显示具体数值技术进阶3D 进度环使用 3D 变换实现立体效果粒子特效进度完成时触发粒子庆祝效果分布式同步多设备同步显示同一进度数据数据绑定与后端数据源绑定实时更新进度7.3 设计启示进度环组件的设计思想——用圆形替代线性来展示进度——本身就体现了良好的空间利用率和视觉美感。在实际项目中可以将这种环形可视化的思路延伸到更多场景环形进度 → 环形菜单 → 环形图表 → 环形导航 ↓ ↓ ↓ ↓ 进度展示 快捷操作 数据统计 空间导航圆形作为一种完美的几何形状在 UI 设计中的应用远不止于此。掌握 Canvas 绘图能力后开发者可以创造出更多富有创意的圆形交互组件。项目代码已完整开源。进度环组件是探索 ArkTS Canvas 绘图能力的绝佳入口掌握其开发方法将为构建复杂的数据可视化组件奠定坚实基础。

相关新闻

# 卡片轮播组件开发实战:HarmonyOS ArkTS 优雅轮播效果实现解析

# 卡片轮播组件开发实战:HarmonyOS ArkTS 优雅轮播效果实现解析

一、应用概述 卡片轮播(Card Carousel)是移动应用中最常见的 UI 组件之一,广泛应用于首页 Banner、产品展示、图片画廊、推荐内容呈现等场景。一个优秀的轮播组件需要具备流畅的滑动体验、清晰的导航指示和良好的视觉反馈。本文将基于 Harmon…

2026/7/27 4:30:09 阅读更多 →
# 评分器组件开发实战:HarmonyOS ArkTS 五星评分交互应用解析

# 评分器组件开发实战:HarmonyOS ArkTS 五星评分交互应用解析

一、应用概述 评分器(Star Rating)是各类电商、内容平台、生活服务类应用中最常见的交互组件之一。用户通过点击或悬浮操作选择星级评分,直观地表达对商品、服务或内容的评价。本文将以 HarmonyOS 原生开发框架 ArkTS 为基础,详细…

2026/7/27 4:30:08 阅读更多 →
C++ Linux Web服务器项目:从零实现Reactor高并发架构

C++ Linux Web服务器项目:从零实现Reactor高并发架构

1. 项目概述:为什么这个项目是C求职的“硬通货”?最近帮几个学弟学妹看简历,发现一个挺普遍的现象:很多C方向的应届生或者初级开发者,简历上项目经历一栏,要么是学校课程设计里那些“学生管理系统”、“图书…

2026/7/27 4:29:08 阅读更多 →

最新新闻

多模态Prompt设计:提升大模型视觉理解的关键技术

多模态Prompt设计:提升大模型视觉理解的关键技术

1. 多模态Prompt设计的核心逻辑多模态大模型(Vision-LLM)的Prompt设计本质上是在构建一套"人机协作协议"。与纯文本交互不同,视觉信息的处理需要更精确的指令框架来引导模型注意力分配和推理路径。2025年行业实践表明,优…

2026/7/27 4:41:13 阅读更多 →
k6自定义指标输出到InfluxDB/Prometheus:从ext.js到Grafana看板实战

k6自定义指标输出到InfluxDB/Prometheus:从ext.js到Grafana看板实战

1. 项目概述:为什么我们需要自定义 Metric 输出? 做性能压测,k6 是个好工具,脚本写起来快,资源消耗也低。但用久了你会发现,它自带的那些内置指标(http_req_duration, http_reqs, vus 等&#…

2026/7/27 4:41:13 阅读更多 →
AI Agent上下文窗口优化:200K为何成为黄金标准

AI Agent上下文窗口优化:200K为何成为黄金标准

1. 为什么200K上下文窗口是AI Agent的黄金分割点当我在设计第一个生产级AI Agent系统时,曾盲目追求大上下文窗口,直到某次凌晨三点的线上事故让我彻底醒悟。那次我们将上下文窗口扩展到800K tokens,结果Agent在连续运行12小时后突然开始输出完…

2026/7/27 4:41:13 阅读更多 →
【Claude Cowork录制技能技术解析】从屏幕演示到可复用Skill的Agent自动化新范式

【Claude Cowork录制技能技术解析】从屏幕演示到可复用Skill的Agent自动化新范式

文章目录Claude Cowork录制技能技术解析:从屏幕演示到可复用Skill的Agent自动化新范式一、引言二、功能全景:从演示到自动化的三步闭环2.1 操作步骤2.2 适用人群与平台2.3 典型使用场景三、Claude捕捉了什么:录制数据的五维度采集3.1 采集内容…

2026/7/27 4:41:13 阅读更多 →
AI法务Agent:合同智能审阅的技术实现与商业价值

AI法务Agent:合同智能审阅的技术实现与商业价值

1. 法务Agent的核心价值与行业痛点作为一名在AI法律交叉领域深耕多年的技术专家,我见证了太多企业因合同问题导致的惨痛教训。去年某上市公司因合同中的管辖条款漏洞,在异地诉讼中直接损失超3000万元;另一家创业公司则因竞业禁止条款不规范&a…

2026/7/27 4:41:13 阅读更多 →
Claude与Codex语音功能对比:实时对话与批量处理的技术选型指南

Claude与Codex语音功能对比:实时对话与批量处理的技术选型指南

Claude 和 Codex 作为当前热门的 AI 助手工具,在语音功能方面各有特色。这次我们直接对比两者的语音能力、使用门槛和实际效果,帮助开发者快速选择适合自己项目的方案。从技术架构来看,Claude 的语音功能更注重对话交互的自然度,支…

2026/7/27 4:40:13 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻