百度网盘直链提取工具:突破限速瓶颈的高效下载解决方案

核心内容摘要

从原理到应用:如何用双线性插值(Bilinear)实现完美的图片放大?附Python代码
播客节目语音标注:SenseVoice-Small ONNX模型时间戳+情感标记展示

杰理之earphone 通信脚配置【篇】

茶叶病虫害检测系统YOLODeepSeekPytorchSpringBootFlaskVue支持批量检测、图片检测、视频检测、摄像头检测四种方式。

可以上传文件夹批量检测检测结果可导出PDF。

结合DeepSeek、Qwen等大模型给出相关建议。

支持分用户管理管理员可查看所有记录普通用户只能看自己。

界面简洁美观支持主题色修改、布局样式修改、组件大小修改等。

技术栈YOLO、DeepSeek、Qwen、Pytorch、SpringBoot、MyBatis-Plus、Vue

Echarts、Ts、element-plus、Flask、Axios、MySQL。

系统还支持分用户管理分为管理员和普通用户。

普通用户只能查看自己的记录。

整理好的yolo格式的数据集

详细的系统部署教程

实时视频摄像头图片检测

代码简洁有注释

提供训练好的yolo权重基于 YOLO DeepSeek 的茶叶病虫害检测系统的完整技术架构、功能解析与详细代码实现含数据集说明、前后端分离、AI 融合✅

系统概览项目内容系统名称基于 YOLO DeepSeek 的茶叶病虫害智能检测系统核心技术- YOLOv8 → 实时识别茶树病虫害藻斑病、赤叶枯病等- DeepSeek / Qwen 大语言模型 → 自动生成防治建议- Flask 后端 Vue3 前端 → 构建 Web 管理平台- SpringBoot MyBatis-Plus → 用户权限管理与数据库操作任务类型图像/视频/摄像头实时检测 AI 分析 批量处理 数据导出支持输入图片上传 / 文件夹批量 / 视频文件 / 摄像头实时流RTSP输出内容检测结果图 病害分类 防治建议 PDF 导出部署方式Docker 容器化部署或本地运行✅

系统架构图┌────────────────────┐ ┌────────────────────┐ │ 前端 (Vue3 TS) │◄───►│ 后端 (Flask) │ │ (Web界面 ECharts) │ │ (API 模型推理) │ └────────────────────┘ └────────────────────┘ ↑ ↑ │ │ │ │ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ │ AI 推理 (YOLOv

│◄───►│ 大模型 (DeepSeek) │ │ (定位病害区域) │ │ (生成防治建议) │ └────────────────────┘ └────────────────────┘ ↑ ↑ │ │ │ │ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ │ 数据库 (MySQL) │ │ 文件存储 (MinIO) │ └────────────────────┘ └────────────────────┘✅

核心功能模块功能说明多模式检测支持图片、批量文件夹、视频、摄像头四种输入方式AI 自动诊断识别后自动调用 DeepSeek 或 Qwen 生成个性化防治方案数据管理所有检测记录可查、可导出为 PDF、支持用户权限控制️可视化大屏统计分析图表折线图、雷达图、用户行为分析智能问答助手可问“如何预防赤叶枯病”、“茶盲蝽怎么治”️批量处理支持上传整个文件夹一键完成所有图像检测PDF 导出将检测报告导出为 PDF便于打印和存档用户权限管理管理员 vs 普通用户普通用户只能查看自己的记录主题定制支持颜色、布局、组件大小自定义UI 美观✅

数据集详情已整理好数据集名称Tea Disease Dataset总数量5,200 张高清图像划分比例训练集4,160 张验证集624 张测试集416 张 类别分布共 6 类类别样本数说明algal_spot900藻斑病叶片出现绿色或黑色斑点brown_rot850褐枯病叶片边缘干枯发褐gray_rot780灰枯病灰白色霉层覆盖healthy1,200健康茶叶tea_bug650茶盲蝽小虫在叶背活动red_leaf_spot720赤叶枯病红褐色斑块✅标注格式YOLO.txt每张图对应一个标签文件✅分辨率640×640统一缩放✅拍摄场景茶园实景、不同光照、多角度拍摄✅提供训练好的权重文件best.pt直接可用✅

前端代码Vue3 TypeScript Element Plus

src/router/index.tsimport{createRouter,createWebHistory}fromvue-routerimportLoginfrom/views/Login.vueimportDashboardfrom/views/Dashboard.vueimportImageDetectfrom/views/ImageDetect.vueimportBatchDetectfrom/views/BatchDetect.vueimportVideoDetectfrom/views/VideoDetect.vueimportCameraDetectfrom/views/CameraDetect.vueimportHistoryfrom/views/History.vueimportAIAssistantfrom/views/AIAssistant.vueimportUserManagefrom/views/UserManage.vueconstroutes[{path:/login,component:Login},{path:/,component:Dashboard},{path:/image-detect,component:ImageDetect},{path:/batch-detect,component:BatchDetect},{path:/video-detect,component:VideoDetect},{path:/camera-detect,component:CameraDetect},{path:/history,component:History},{path:/ai-assistant,component:AIAssistant},{path:/user-manage,component:UserManage}]constroutercreateRouter({history:createWebHistory(),routes})exportdefaultrouter

src/views/BatchDetect.vue—— 批量检测页面template div classbatch-detect h2批量检测/h2 el-form :modelform label-width100px el-form-item label模型选择 el-select v-modelform.model placeholder请选择模型 el-option labelbest.onnx valuebest.onnx/el-option /el-select /el-form-item el-form-item label上传文件夹 el-upload action :auto-uploadfalse :on-changehandleFileChange :multipletrue accept.jpg,.jpeg,.png el-button typeprimary上传图片文件夹/el-button /el-upload /el-form-item el-form-item el-slider v-modelminConfidence :min

1 :max

0 step

01 / span设置最小置信度阈值/span /el-form-item el-form-item el-button typeprimary clickstartDetection开始预测/el-button /el-form-item /el-form el-table :dataresults stylewidth: 100% el-table-column propindex label序号/el-table-column el-table-column propresult label识别结果/el-table-column el-table-column propconfidence label预测概率/el-table-column el-table-column proptime label总耗时/el-table-column el-table-column proptimestamp label预测时间/el-table-column el-table-column label预测图片 template #default{ row } img :srcrow.image width100 / /template /el-table-column el-table-column label操作 template #default{ row } el-button sizesmall clickselectImage(row)选择/el-button /template /el-table-column /el-table div classpreview img v-ifselectedImage :srcselectedImage alt预览 / div v-ifselectedImage pstrong识别结果/strong/p pstrong预测概率/strong/p pstrong总耗时/strong/p /div /div /div /template script setup langts import { ref } from vue import axios from axios interface Result { index: number result: string confidence: string time: string timestamp: string image: string } const form ref({ model: best.onnx }) const minConfidence ref(

0.

const results refResult[]([]) const selectedImage ref() const selectedResult ref() const selectedConfidence ref() const selectedTime ref() const handleFileChange (file: any) { // 上传文件夹逻辑 console.log(file) } const startDetection async () { const formData new FormData() formData.append(folder, uploads/test) formData.append(min_conf, minConfidence.value.toString()) const res await axios.post(/api/detect/batch, formData, { headers: { Content-Type: multipart/form-data } }) results.value res.data.results.map((item: any, index: number) ({ index: index 1, result: item.class, confidence: ${item.confidence}%, time: item.time, timestamp: new Date().toLocaleString(), image: /static/images/${item.filename} })) } /script✅

后端代码Python Flask

app.py—— 主程序# app.pyfromflaskimportFlask,render_template,request,jsonify,send_from_directoryimportcv2importnumpyasnpimportosimportjsonfromultralyticsimportYOLOimportrequests appFlask(__name__)app.config[UPLOAD_FOLDER]uploadsapp.config[STATIC_FOLDER]static# 加载 YOLOv8 模型modelYOLO(best.pt)# 提供的训练好的权重# DeepSeek API 配置DEEPSEEK_API_KEYyour_deepseek_api_keyDEEPSEEK_URLhttps://api.deepseek.com/v1/chat/completionsapp.route(/)deflogin():returnrender_template(login.html)app.route(/dashboard)defdashboard():returnrender_template(dashboard.html)app.route(/detect/image,methods[POST])defdetect_image():filerequest.files[image]img_arraynp.array(bytearray(file.read()),dtypenp.uint

imgcv

imdecode(img_array,cv

IMREAD_COLOR)# YOLO 推理resultsmodel(img)result_imgresults[0].plot()# 保存结果图像result_pathos.path.join(app.config[UPLOAD_FOLDER],result.jpg)cv

imwrite(result_path,result_img)# 提取标签labels[]forboxinresults[0].boxes:cls_nameresults[0].names[int(box.cls)]conffloat(box.conf)labels.append({class:cls_name,confidence:conf})# 调用 DeepSeek 生成防治建议advicegenerate_advice(labels)returnjsonify({image_url:/uploads/result.jpg,labels:labels,advice:advice})app.route(/detect/batch,methods[POST])defdetect_batch():folderrequest.form[folder]min_conffloat(request.form[min_conf])results[]forfilenameinos.listdir(folder):iffilename.endswith(.jpg)orfilename.endswith(.png):img_pathos.path.join(folder,filename)imgcv

imread(img_path)resmodel(img)predres[0].boxesforboxinpred:cls_nameres[0].names[int(box.cls)]conffloat(box.conf)ifconfmin_conf:results.append({class:cls_name,confidence:conf,filename:filename,time:res[0].time})returnjsonify({results:results})✅

DeepSeek 生成防治建议函数defgenerate_advice(labels):promptf 你是一位农业专家请根据以下检测到的茶叶病虫害生成一份详细的防治建议 检测结果{json.dumps(labels,ensure_asciiFalse,indent

}请包含以下内容

病害描述

发生原因

防治措施物理、化学、生物

预防建议 responserequests.post(https://api.deepseek.com/v1/chat/completions,headers{Authorization:Bearer YOUR_API_KEY},json{model:deepseek-chat,messages:[{role:user,content:prompt}]})returnresponse.json()[choices][0][message][content]✅

SpringBoot 用户管理模块JavaUser.javaEntityTable(nameusers)publicclassUser{IdGeneratedValue(strategyGenerationType.IDENTITY)privateLongid;Column(uniquetrue)privateStringusername;privateStringpassword;privateStringrole;// admin / user// getter setter}UserService.javaServicepublicclassUserService{AutowiredprivateUserRepositoryuserRepository;publicUserfindByUsername(Stringusername){returnuserRepository.findByUsername(username);}publicbooleanhasPermission(Useruser,Stringoperation){returnadmin.equals(user.getRole())||user.equals(operation);}}✅

部署教程

安装依赖pipinstallflask opencv-python numpy ultralytics requests

启动服务python app.py

访问地址http://localhost:5000/login✅

创新点

总结直击评委评分创新点说明双模态融合YOLO 定位 DeepSeek 解释 → 实用性拉满全场景接入支持图片、视频、摄像头、批量文件夹数据可视化大屏展示、历史记录、统计分析AI 智能助手自动生成防治建议提升用户体验PDF 导出检测报告可导出为 PDF便于归档用户权限管理管理员 vs 普通用户安全可控主题定制支持颜色、布局、组件大小自定义

蘑菇吃瓜料每日爆料-蘑菇吃瓜料每日爆料应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123