基于YOLOv8/v10/v11/v12与SpringBoot的前后端分离杂草识别检测系统(DeepSeek智能分析+web交互界面)
一、 系统全面简介核心概述本系统是一个深度融合了当代最前沿的深度学习目标检测技术、大语言模型分析能力与现代企业级Web开发框架的综合型智能应用平台。系统以高性能、可迭代的YOLO系列模型涵盖v8, v10, v11, v12作为其核心的视觉感知引擎专门用于对特定杂草物种—— 进行高精度、高效率的识别与定位。通过基于SpringBoot的鲁棒后端架构系统构建了一套完整的用户认证、数据管理并辅以清晰明了的响应式前端交互界面最终为用户提供了一个集多模态检测、智能分析、数据可视化、记录管理与系统管理于一体的一站式杂草防控决策支持系统。系统核心定位本系统的定位超越了单一的检测工具它旨在成为一个服务化的智能分析平台。它将复杂的AI模型封装成易于调用的服务降低了农业技术人员直接使用算法的门槛并通过Web界面和数据库管理实现了检测任务的流程化、识别结果的结构化以及历史数据的价值化。详尽技术架构亮点后端架构框架采用SpringBoot作为核心框架实现了依赖注入、事务管理和应用的快速启动与部署。API设计遵循RESTful API设计规范为前端提供清晰、统一的数据接口支持前后端的独立开发与部署。AI引擎层核心检测器动态支持YOLOv8, YOLOv10, YOLOv11, YOLOv12四个版本的模型。用户可根据实际场景对检测速度和精度的侧重灵活选择最优模型实现了算法性能的“按需分配”。大模型增强创新性地集成DeepSeek大语言模型API。在YOLO完成基础的目标框选后将识别信息送入DeepSeek进行二次分析与语义生成提供诸如生物学特性描述、潜在危害预警、生态影响分析等深层次信息极大地拓展了系统的认知维度。前端与交互层技术选型采用Vue.jst等现代化前端框架构建了组件化、高内聚、低耦合的单页面应用。用户体验实现了高度交互性的数据可视化图表支持用户更换导航栏背景颜色等个性化设置提升了平台的易用性和亲和力。任务支持广度图像检测支持用户上传静态图片进行即时分析适用于单点、快速的杂草鉴定。视频检测支持处理视频文件能够逐帧分析视频中的杂草出现情况适用于分析一段时期内的杂草动态。实时检测支持调用电脑摄像头进行实时视频流检测为田间实时监控、自动化农机作业等场景提供了技术可能性。哔哩哔哩视频演示https://www.bilibili.com/video/BV1TD1hBUEpj哔哩哔哩视频演示https://www.bilibili.com/video/BV1TD1hBUEpj项目源码项目环境配置安装教程YOLOspring bootvue项目环境部署教程YOLOv8、YOLOv10、YOLOv11、YOLOv12_哔哩哔哩_bilibiliYOLOspring bootvue项目环境部署教程YOLOv8、YOLOv10、YOLOv11、YOLOv12_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1YLsXzJE2X/?spm_id_from333.1387.homepage.video_card.clickvd_source549d0b4e2b8999929a61a037fcce3b0f目录一、 系统全面简介二、 详细引言数据集功能模块登录注册模块可视化模块更换导航栏背景颜色图像检测模块视频检测模块实时检测模块图片识别记录管理视频识别记录管理摄像头识别记录管理用户管理模块数据管理模块MySQL表设计模型训练结果YOLOv8YOLOv10YOLOv11YOLOv12前端代码展示部分代码后端代码展示项目源码数据集下载链接项目安装教程二、 详细引言在全球范围内推动精准农业与数字化生态管理的大趋势下如何高效、精准、低成本地进行农田杂草监测与防控始终是制约农业生产效率与可持续发展的关键瓶颈之一。传统依赖人工经验的巡查方式不仅耗费巨大人力物力其识别准确率也极易受制于个人经验、疲劳程度及环境因素难以实现大规模、标准化的应用。与此同时计算机视觉领域特别是以YOLO为代表的一系列深度学习目标检测模型近年来取得了突破性进展其在速度与精度上的卓越平衡为解决上述农业痛点提供了强有力的技术武器。然而顶尖的算法模型若不能转化为用户友好、稳定可靠且功能完备的应用系统其潜在价值将无法得到有效释放。正是在这一现实需求的驱动下我们设计并研发了本款“智能杂草识别与精准管理平台”。该系统旨在构建一个从感知到认知、从分析到管理的完整技术闭环具体应对以下多层次的核心需求追求极致的识别性能与算法民主化系统并未固守单一模型而是创造性地支持了从YOLOv8到v12的多种先进模型架构。这一设计允许用户根据自身硬件条件和对实时性的要求自由选择最适合的检测引擎。例如在需要快速响应的实时监控场景下用户可能选择速度更快的YOLOv12-n版本而在对精度要求极高的科研分析中则可能启用精度更高的YOLOv8x模型。这种“可切换”的架构也使得系统能够平滑地融入未来更新的YOLO版本具备了良好的前瞻性与扩展性。实现从“感知”到“认知”的智能跃迁本系统的核心创新点之一在于突破了传统检测系统仅提供“定位与分类”的局限。通过无缝集成DeepSeek大语言模型系统在YOLO输出“何处有何物”的基础上进一步生成了“此物为何重要”的语义级描述。例如系统不仅能框出图中的“骑士酸模”还能通过DeepSeek的分析生成关于该杂草的生长习性、对作物的竞争性危害、以及推荐的环境友好型防治策略等文本报告。这为使用者尤其是非植物学专家的普通农户提供了更具操作性的决策支持。构建全链路、多模态的业务支持体系系统深刻理解了杂草防控工作的多样性因此提供了覆盖图像、视频、实时流三种模态的全面检测方案。从单张图片的快速确认到视频录像的回顾性分析再到通过摄像头的持续性田间监测本系统能够渗透到杂草管理的各个环节成为一个真正全场景适用的工具。打造结构化、可追溯的数据管理中枢所有检测操作及其结果均被系统化地保存至MySQL数据库。这不仅使得用户可以方便地回查历史记录、进行纵向对比分析更为后续进行大数据挖掘如杂草时空分布分析、发生规律统计奠定了坚实的数据基础。结合信息可视化面板用户能够直观地掌握杂草发生的整体态势。提供企业级的安全与管理功能完善的用户权限管理、管理员对用户和记录的增删改查能力、以及个人中心的个性化设置确保了系统的安全、稳定与有序运行使其能够胜任团队协作与小规模商业部署的要求。数据集本系统卓越的识别能力根植于一个高质量、专门化的标注数据集。该数据集聚焦于单一杂草类别——骑士酸模精心收集和标注了总计2,486张在不同光照、背景、生长阶段下的田间图像。并按照机器学习的最佳实践严格划分为训练集1,661张用于模型参数学习验证集580张用于调优超参数和模型选择测试集245张用于最终客观评估模型的泛化性能。这一数据集的规模与质量是保障模型高召回率与低误检率的根本前提。功能模块✅ 用户登录注册支持密码检测保存到MySQL数据库。✅ 支持四种YOLO模型切换YOLOv8、YOLOv10、YOLOv11、YOLOv12。✅ 信息可视化数据可视化。✅ 图片检测支持AI分析功能deepseek✅ 支持图像检测、视频检测和摄像头实时检测检测结果保存到MySQL数据库。✅ 图片识别记录管理、视频识别记录管理和摄像头识别记录管理。✅ 用户管理模块管理员可以对用户进行增删改查。✅ 个人中心可以修改自己的信息密码姓名头像等等。✅ 支持更换导航栏背景颜色登录注册模块可视化模块更换导航栏背景颜色图像检测模块YOLO模型集成(v8/v10/v11/v12)DeepSeek多模态分析支持格式JPG/PNG/MP4/RTSP视频检测模块实时检测模块图片识别记录管理视频识别记录管理摄像头识别记录管理用户管理模块数据管理模块MySQL表设计users- 用户信息表imgrecords- 图片检测记录表videorecords- 视频检测记录表camerarecords- 摄像头检测记录表模型训练结果#coding:utf-8 #根据实际情况更换模型 # yolon.yaml (nano)轻量化模型适合嵌入式设备速度快但精度略低。 # yolos.yaml (small)小模型适合实时任务。 # yolom.yaml (medium)中等大小模型兼顾速度和精度。 # yolob.yaml (base)基本版模型适合大部分应用场景。 # yolol.yaml (large)大型模型适合对精度要求高的任务。 from ultralytics import YOLO model_path pt/yolo12s.pt data_path data.yaml if __name__ __main__: model YOLO(model_path) results model.train(datadata_path, epochs500, batch64, device0, workers0, projectruns, nameexp, )YOLOv8YOLOv10YOLOv11YOLOv12前端代码展示部分代码template div classbrain-detection-container idid v-loadingstate.loading !-- 顶部导航栏 -- div classtop-nav div classlogo i classicon-brain/i spanComputer Vision/span /div div classuser-info el-avatar :size32 :srcuserInfos.avatar / span classusername{{ userInfos.userName }}/span /div /div div classmain-content !-- 左侧功能区 -- div classleft-panel div classpanel-section h3 classsection-title模型配置/h3 div classconfig-item label选择模型/label el-select v-modelweight placeholder请选择模型 sizelarge el-option v-foritem in state.weight_items :keyitem.value :labelitem.label :valueitem.value / /el-select /div div classconfig-item labelAI助手/label el-select v-modelai placeholder请选择AI助手 sizelarge changegetData el-option v-foritem in state.ai_items :keyitem.value :labelitem.label :valueitem.value / /el-select /div div classconfig-item label置信度阈值: {{ (conf/100).toFixed(2) }}/label el-slider v-modelconf :format-tooltipformatTooltip show-stops :max100 :step5 / /div div classaction-buttons el-button typeprimary clickupData classpredict-btn i classicon-scan/i 开始检测 /el-button el-button clickresetForm classreset-btn i classicon-reset/i 重置 /el-button /div /div div classpanel-section h3 classsection-title历史记录/h3 div classhistory-list div v-for(item, index) in state.history :keyindex classhistory-item div classhistory-time{{ item.time }}/div div classhistory-result{{ item.result }}/div /div div v-ifstate.history.length 0 classempty-history 暂无历史记录 /div /div /div /div !-- 中间内容区 -- div classcenter-panel div classupload-section el-card classupload-card template #header div classcard-header span上传图片/span el-button typetext clickshowExample查看示例/el-button /div /template el-upload v-modelstate.img refuploadFile classavatar-uploader actionhttp://localhost:9999/files/upload :show-file-listfalse :on-successhandleAvatarSuccessone drag div classupload-area el-icon v-if!imageUrl classupload-icon Plus / /el-icon img v-else :srcimageUrl classuploaded-image / div v-if!imageUrl classupload-text p将图片拖拽到此处或em点击上传/em/p p classupload-tip支持 JPG、PNG 格式大小不超过 10MB/p /div /div /el-upload /el-card /div div classresult-section v-ifstate.predictionResult.label el-card classresult-card template #header div classcard-header span检测结果/span el-button typeprimary click() htmlToPDF(id, 检测报告) sizesmall i classicon-download/i 导出报告 /el-button /div /template div classresult-content div classresult-overview div classresult-item div classresult-icon diagnosis/div div classresult-info div classresult-label诊断结果/div div classresult-value highlight{{ state.predictionResult.label || - }}/div /div /div div classresult-item div classresult-icon confidence/div div classresult-info div classresult-label置信度/div div classresult-value accent{{ state.predictionResult.confidence || - }}/div /div /div div classresult-item div classresult-icon time/div div classresult-info div classresult-label分析用时/div div classresult-value{{ state.predictionResult.allTime ? ${state.predictionResult.allTime} : - }}/div /div /div /div div classdetailed-results h4详细分析/h4 el-table :datastate.data stylewidth: 100% el-table-column proplabel label预测结果 aligncenter / el-table-column propconfidence label置信度 aligncenter / el-table-column propallTime label用时(秒) aligncenter / /el-table /div /div /el-card /div /div !-- 右侧AI建议区 -- div classright-panel v-ifstate.predictionResult.suggestion div classpanel-section h3 classsection-titleAI建议/h3 div classai-suggestion div v-htmlstate.predictionResult.suggestion classmarkdown-body/div /div div classsuggestion-actions el-button typetext clickcopySuggestion i classicon-copy/i 复制建议 /el-button el-button typetext clicksaveSuggestion i classicon-save/i 保存建议 /el-button /div /div /div /div !-- 底部状态栏 -- div classstatus-bar div classstatus-item i classicon-status/i span系统状态: 正常/span /div div classstatus-item i classicon-time/i span最后更新: {{ currentTime }}/span /div /div /div /template script setup langts namebrainDetection import { reactive, ref, onMounted, computed } from vue; import type { UploadInstance, UploadProps } from element-plus; import { ElMessage } from element-plus; import request from //utils/request; import { Plus } from element-plus/icons-vue; import { useUserInfo } from //stores/userInfo; import { storeToRefs } from pinia; import { formatDate } from //utils/formatTime; import { htmlToPDF } from //utils/pdf import { marked } from marked; import { SocketService } from //utils/socket; const imageUrl ref(); const ai ref(); const conf ref(60); const weight ref(); const uploadFile refUploadInstance(); const stores useUserInfo(); const { userInfos } storeToRefs(stores); // 新增功能当前时间显示 const currentTime computed(() { return formatDate(new Date(), YYYY-mm-dd HH:MM:SS); }); const state reactive({ loading: false, weight_items: [] as any, img: , data: [] as any, history: [] as any, // 新增历史记录功能 predictionResult: { label: , confidence: , allTime: , suggestion: as any }, ai_items: [ { value: DeepSeek, label: DeepSeek, }, { value: Qwen, label: Qwen, }, { value: 不使用AI, label: 不使用AI, }, ], form: { username: , inputImg: null as any, weight: , conf: null as any, ai: , startTime: }, }); // 新增功能格式化工具提示 const formatTooltip (val: number) { return val / 100 } // 新增功能重置表单 const resetForm () { imageUrl.value ; state.img ; state.predictionResult { label: , confidence: , allTime: , suggestion: }; state.data []; ai.value ; conf.value 60; weight.value ; ElMessage.success(已重置表单); }; // 新增功能显示示例图片 const showExample () { ElMessage.info(示例功能开发中...); }; // 新增功能复制AI建议 const copySuggestion () { const suggestionText state.predictionResult.suggestion.replace(/[^]*/g, ); navigator.clipboard.writeText(suggestionText).then(() { ElMessage.success(建议已复制到剪贴板); }); }; // 新增功能保存AI建议 const saveSuggestion () { ElMessage.info(保存功能开发中...); }; const socketService new SocketService(); socketService.on(message, (data) { console.log(Received message:, data); ElMessage({ message: data, type: success, duration: 3000 }) }); const handleAvatarSuccessone: UploadProps[onSuccess] (response, uploadFile) { imageUrl.value URL.createObjectURL(uploadFile.raw!); state.img response.data; }; const getData () { request.get(/api/flask/file_names).then((res) { if (res.code 0) { res.data JSON.parse(res.data); state.weight_items res.data.weight_items; } else { ElMessage.error(res.msg); } }); }; const transformData (rawData: any): any { return rawData.label.map((label, index) ({ allTime: rawData.allTime, confidence: rawData.confidence[index], label: label, })); } const upData () { state.loading true; state.form.weight weight.value; state.form.conf (parseFloat(conf.value.toString()) / 100); state.form.username userInfos.value.userName; state.form.inputImg state.img; state.form.ai ai.value; state.form.startTime formatDate(new Date(), YYYY-mm-dd HH:MM:SS); request.post(/api/flask/predict, state.form).then((res) { if (res.code 0) { try { state.loading false; res.data JSON.parse(res.data); state.predictionResult.label JSON.parse(res.data.label); state.predictionResult.confidence JSON.parse(res.data.confidence); state.predictionResult.allTime res.data.allTime; state.predictionResult.suggestion marked(res.data.suggestion); state.data transformData(state.predictionResult); // 新增功能添加到历史记录 state.history.unshift({ time: currentTime.value, result: state.predictionResult.label }); // 限制历史记录数量 if (state.history.length 5) { state.history.pop(); } // 覆盖原图片 if (res.data.outImg) { imageUrl.value res.data.outImg; } } catch (error) { console.error(解析 JSON 时出错:, error); } ElMessage.success(检测完成); } else { state.loading false; ElMessage.error(res.msg); } }); }; onMounted(() { getData(); }); /script后端代码展示项目源码数据集下载链接完整代码在哔哩哔哩视频下方简介内获取https://www.bilibili.com/video/BV1TD1hBUEpj哔哩哔哩视频演示https://www.bilibili.com/video/BV1TD1hBUEpj项目安装教程https://www.bilibili.com/video/BV1YLsXzJE2X/?spm_id_from333.1387.homepage.video_card.clickYOLOspring bootvue项目环境部署教程YOLOv8、YOLOv10、YOLOv11、YOLOv12_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1YLsXzJE2X/?spm_id_from333.1387.homepage.video_card.clickvd_source549d0b4e2b8999929a61a037fcce3b0f

相关新闻

期权中高频波动率择时价差策略:回测实战笔记与避坑指南

期权中高频波动率择时价差策略:回测实战笔记与避坑指南

做期权交易这些年,我对一句话感触特别深:期权的价格里,一半是方向,一半是波动率。而“回测应用:期权中高频波动率择时价差策略”这个事,简单说就是盯住隐含波动率和已实现波动率之间的缺口,用价…

2026/10/15 23:39:56 阅读更多 →
嵌入式Linux coredump调试实战:从配置到分析全流程

嵌入式Linux coredump调试实战:从配置到分析全流程

1. 嵌入式coredump调试到底在解决什么问题 搞嵌入式开发的人,迟早会碰到一个让人头皮发麻的场景:设备在客户现场跑了好几天,突然就挂了,重启之后一切正常,日志里什么有用的信息都没有。你盯着串口输出发呆,…

2026/10/15 23:38:55 阅读更多 →
COMSOL弱形式求解三维光子晶体能带:从方程到实践

COMSOL弱形式求解三维光子晶体能带:从方程到实践

拿到“COMSOL弱形式求解三维光子晶体能带结构分析”这个题目,可能很多人第一反应是“又是个科研算例”。但做过光子晶体的人都知道,能带结构算得准不准、边界条件加得对不对、三个方向的Bloch因子怎么作用,远比“画出几条能带曲线”复杂得多。…

2026/10/17 7:09:13 阅读更多 →

最新新闻

从0到1构建AI原生应用的用户意图理解模块

从0到1构建AI原生应用的用户意图理解模块

两年前我第一次在真实项目里负责意图理解模块,犯过一个特别典型的错误:花了整整三周训练了一个文本分类模型,结果上线第一天就被一条用户话术打懵——"你帮我看看明天天气怎么样,顺便把闹钟调到七点"。一句话里包含两个…

2026/10/17 7:45:12 阅读更多 →
寄存器验证的设计陷阱:从RDL到UVM RAL的隐性风险与对策

寄存器验证的设计陷阱:从RDL到UVM RAL的隐性风险与对策

1. 寄存器验证在芯片流程中的位置:为什么它最容易变成"背锅侠"先说一个我自己亲眼见过的场景。某次某个项目回片之后,软件同事拿着驱动代码来找验证团队,说寄存器读回来的值乱七八糟,怀疑硬件有bug。验证团队翻出回归记…

2026/10/17 7:45:12 阅读更多 →
AI原生应用意图理解全攻略:从数据构造到服务化落地

AI原生应用意图理解全攻略:从数据构造到服务化落地

做AI原生应用这一年多,我最大的感触是:很多团队把精力全砸在模型参数和Prompt模板上,却把一个最基础、最决定体验的模块给看轻了——用户意图理解。你产品功能再强,模型再大,用户一句话进来,你连他到底想干什么都没接住…

2026/10/17 7:45:12 阅读更多 →
OpenClaw(Clawdbot)实战:AI自动化代理框架部署与原理详解

OpenClaw(Clawdbot)实战:AI自动化代理框架部署与原理详解

上周有个做自动化的朋友跑来问我:“OpenClaw是什么?怎么到处都在说6分钟从零到一部署,这玩意和之前那些AI工具到底有啥区别?”我被他问得一时语塞,因为OpenClaw(Clawdbot)这个项目在大半年前还只…

2026/10/17 7:45:12 阅读更多 →
LightningChart在能源监控可视化中的性能优势与落地实践

LightningChart在能源监控可视化中的性能优势与落地实践

做能源监控系统的朋友应该都有同感:设备越来越多,测点越来越密,数据越来越快。一个风电场的SCADA数据、储能BMS的毫秒级波动、光伏逆变器的功率曲线,用传统图表库去推,拖个缩放都能把CPU拉满,画面掉帧掉到客…

2026/10/17 7:45:12 阅读更多 →
Win7老电脑本地跑AI:轻量模型与ONNX Runtime部署指南

Win7老电脑本地跑AI:轻量模型与ONNX Runtime部署指南

说起来你可能不信,我手里有台尘封多年的Win7老本子,最近被我翻出来装了个本地AI模型。别人跑大模型动辄几张显卡,我这台老伙计连AVX2指令集都悬,愣是跑起来了,效果还挺香。这事儿要是放在一两年以前,想都不…

2026/10/17 7:44:12 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →