穿越性别迷雾:他78年的申请,如何“定眼”女性的崭新认知?

核心内容摘要

再继续下去…不行”典狱长固执的身体检查
尹人影院:光影交织的魔幻世界,一次穿越时空的艺术之旅

7x7x7x7x:探索无限可能性的数字密码

YOLODeepSeek农作物病虫害检测系统【结合DeepseekQwen】【可以上传文件夹批量检测可以导出图片检测结果为PDF文件】可以实现检测图片、批量检测图片、视频检测、摄像头检测四种方式。

能够检测出[“苹果-黑腐病”, “苹果-健康”, “苹果-结痂”, “甜椒-细菌性斑疹”, “甜椒-健康”, “木薯-褐条病”, “木薯-细菌性枯萎病”, “木薯-绿斑病”, “樱桃-健康”, “樱桃-白粉病”, “玉米-叶斑病”, “玉米-普通锈病”, “玉米-健康”, “葡萄-黑腐病”, “葡萄-健康”, “葡萄-叶枯病”, “木薯-健康”, “木薯-花叶病毒”, “玉米-大斑病”, “柑桔-黄龙病”, “桃子-桃细菌性穿孔病”, “桃子-健康”, “土豆-早疫病”, “土豆-健康”, “土豆-晚疫病”, “水稻-褐斑病”, “水稻-健康”, “水稻-稻瘟病”, “草莓-白粉病”, “草莓-健康”, “草莓-角斑病”, “番茄-细菌性斑疹病”, “番茄-早疫病”, “番茄-晚疫病”, “番茄-健康”, “番茄-叶霉病”, “番茄-斑枯病”]37种检测情况。

结合DeepSeek、Qwen等大模型对检测结果给出相关建议并可将检测报告导出为PDF文件。

另外添加可视化界面对检测结果进行可视化显示。

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

Echarts、Ts、element-plus、Flask、Axios、MySQL等技术。

系统还支持分用户管理。

分为管理员和普通用户管理员可查看所有记录并管理用户。

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

界面简洁、美观。

支持主题色修改、布局样式修改、组件大小修改等。

源码部署教程11基于 YOLO DeepSeek 的农作物病虫害检测系统的完整技术架构、功能解析与详细代码实现含前后端支持✅ 37 类病虫害检测✅ 图片/批量/视频/摄像头检测✅ 结合 DeepSeek / Qwen 提供智能建议✅ 检测结果导出 PDF 报告✅ 用户权限管理管理员/普通用户✅ 数据可视化ECharts✅ 前后端分离SpringBoot Vue3✅

系统概览项目内容系统名称基于 YOLO DeepSeek 的农作物病虫害检测系统核心算法YOLOv8目标检测 DeepSeek / Qwen大模型建议生成检测类别37 类如苹果黑腐病、番茄晚疫病等数据集规模10,000 张标注图像YOLO 格式部署方式Web 端 后端服务 MySQL 数据库技术栈- 前端Vue3 TypeScript Element Plus ECharts Axios- 后端SpringBoot MyBatis-Plus FlaskAI 推理- AI 模型YOLOv8 DeepSeek API / Qwen API- 数据库MySQL- 部署Docker Nginx✅

37 类病虫害分类表[苹果-黑腐病,苹果-健康,苹果-结痂,甜椒-细菌性斑疹,甜椒-健康,木薯-褐条病,木薯-细菌性枯萎病,木薯-绿斑病,樱桃-健康,樱桃-白粉病,玉米-叶斑病,玉米-普通锈病,玉米-健康,葡萄-黑腐病,葡萄-健康,葡萄-叶枯病,木薯-健康,木薯-花叶病毒,玉米-大斑病,柑桔-黄龙病,桃子-桃细菌性穿孔病,桃子-健康,土豆-早疫病,土豆-健康,土豆-晚疫病,水稻-褐斑病,水稻-健康,水稻-稻瘟病,草莓-白粉病,草莓-健康,草莓-角斑病,番茄-细菌性斑疹病,番茄-早疫病,番茄-晚疫病,番茄-健康,番茄-叶霉病,番茄-斑枯病]训练建议使用yolov8s.pt预训练权重数据增强mosaic、mixup提升小病斑检出率。

系统架构图┌────────────────────┐ ┌────────────────────┐ │ 前端 (Vue

│◄───►│ 后端 (SpringBoot) │ │ (Web界面 ECharts) │ │ (API 用户管理) │ └────────────────────┘ └────────────────────┘ ↑ ↑ │ │ │ │ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ │ AI 推理 (Flask) │◄───►│ 大模型 (DeepSeek/Qwen) │ │ (YOLOv8 OpenCV) │ │ (API 调用) │ └────────────────────┘ └────────────────────┘ ↑ ↑ │ │ │ │ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ │ MySQL 数据库 │ │ 文件存储 (MinIO) │ └────────────────────┘ └────────────────────┘✅

前端代码Vue3 TypeScript

src/router/index.tsimport{createRouter,createWebHistory}fromvue-routerimportHomefrom/views/Home.vueimportLoginfrom/views/Login.vueimportPredictfrom/views/Predict.vueimportBatchPredictfrom/views/BatchPredict.vueimportVideoPredictfrom/views/VideoPredict.vueimportUserManagefrom/views/UserManage.vueconstroutes[{path:/login,component:Login},{path:/,component:Home,children:[{path:,redirect:/predict},{path:predict,component:Predict},{path:batch,component:BatchPredict},{path:video,component:VideoPredict},{path:user,component:UserManage}]}]constroutercreateRouter({history:createWebHistory(),routes})exportdefaultrouter

src/views/Predict.vue—— 单图检测页面template div classpredict-container h2作物检测/h2 div classupload-area input typefile changehandleImageUpload acceptimage/* / button clickstartDetect开始预测/button button clickexportPDF导出PDF/button /div div classresult-area img v-iforiginalImage :srcoriginalImage alt原图 / img v-ifresultImage :srcresultImage alt检测结果 / div classdetails pstrong识别结果/strong /p pstrong置信度/strong %/p pstrong耗时/strong s/p /div /div /div /template script setup langts import { ref } from vue import axios from axios const originalImage refstring() const resultImage refstring() const resultLabel refstring() const confidence refnumber(

const inferenceTime refnumber(

const handleImageUpload (e: Event) { const file (e.target as HTMLInputElement).files?.[0] if (file) { const reader new FileReader() reader.onload (event) { originalImage.value event.target?.result as string } reader.readAsDataURL(file) } } const startDetect async () { const formData new FormData() formData.append(image, (document.querySelector(input[typefile]) as HTMLInputElement).files![0]) const res await axios.post(/api/predict, formData, { headers: { Content-Type: multipart/form-data } }) resultImage.value data:image/jpeg;base64,${res.data.image_base64} resultLabel.value res.data.label confidence.value parseFloat(res.data.confidence) * 100 inferenceTime.value parseFloat(res.data.inference_time) } /script

src/components/EchartsChart.vue—— 可视化图表template div refchartRef stylewidth: 100%; height: 400px;/div /template script setup langts import { onMounted, ref } from vue import * as echarts from echarts const chartRef refHTMLDivElement | null(null) onMounted(() { const chart echarts.init(chartRef.value!) chart.setOption({ title: { text: 不同用户的平均准确度 }, tooltip: {}, legend: { data: [admin, 111, 123, 222, 333] }, radar: { indicator: [ { name: admin, max: 100 }, { name: 111, max: 100 }, { name: 123, max: 100 }, { name: 222, max: 100 }, { name: 333, max: 100 } ] }, series: [{ name: 准确度, type: radar, data: [ { value: [

9

38,

9

5,

8

41,

9

02,

8

39], name: admin } ] }] }) }) /script✅

后端代码SpringBoot Java

controller/PredictController.javaRestControllerRequestMapping(/api)publicclassPredictController{AutowiredprivatePredictionServicepredictionService;PostMapping(/predict)publicResponseEntityPredictionResultpredict(RequestParam(image)MultipartFileimage)throwsIOException{StringresultpredictionService.predict(image);returnResponseEntity.ok(result);}GetMapping(/predictions)publicResponseEntityListPredictionRecordgetPredictions(){ListPredictionRecordrecordspredictionService.getAllPredictions();returnResponseEntity.ok(records);}}

service/PredictionService.javaServicepublicclassPredictionService{AutowiredprivateFlaskClientflaskClient;AutowiredprivateDeepSeekClientdeepSeekClient;publicPredictionResultpredict(MultipartFileimage)throwsIOException{//

调用 Flask 进行 YOLO 检测PredictionResultyoloResultflaskClient.detect(image);//

调用 DeepSeek 生成建议StringadvicedeepSeekClient.generateAdvice(yoloResult.getLabel());//

保存到数据库PredictionRecordrecordnewPredictionRecord();record.setUserId(admin);record.setLabel(yoloResult.getLabel());record.setConfidence(yoloResult.getConfidence());record.setAdvice(advice);record.setTimestamp(newDate());// 保存记录predictionRepository.save(record);// 返回结果yoloResult.setAdvice(advice);returnyoloResult;}}

flask_client.py—— Flask 推理接口Python# flask_app.pyfromflaskimportFlask,request,jsonifyimportcv2importnumpyasnpfromultralyticsimportYOLOimportbase64 appFlask(__name__)modelYOLO(best.pt)app.route(/detect,methods[POST])defdetect():filerequest.files[image]imgcv

imdecode(np.frombuffer(file.read(),np.uint

,cv

IMREAD_COLOR)resultsmodel(img)result_imgresults[0].plot()# 编码为 base64_,buffercv

imencode(.jpg,result_img)img_base64base

b64encode(buffer).decode()labelresults[0].names[int(results[0].boxes.cls[0])]conffloat(results[0].boxes.conf[0])returnjsonify({label:label,confidence:conf,image_base64:img_base64,inference_time:

123})if__name____main__:app.run(port

大模型建议生成DeepSeek / Qwen# deepseek_client.pyimportrequestsdefgenerate_advice(disease_name):urlhttps://api.deepseek.com/v1/chat/completionsheaders{Authorization:Bearer YOUR_API_KEY,Content-Type:application/json}payload{model:deepseek-chat,messages:[{role:system,content:你是一个农业专家提供病虫害防治建议},{role:user,content:f请给出针对{disease_name}的防治建议}]}responserequests.post(url,headersheaders,jsonpayload)returnresponse.json()[choices][0][message][content]✅

PDF 导出功能使用pdfkit# export_pdf.pyimportpdfkitfromjinja2importTemplatedefexport_to_pdf(result,filename):templateTemplate( html headtitle农作物病虫害检测报告/title/head body h1检测报告/h1 pstrong作物/strong/p pstrong置信度/strong%/p pstrong建议/strong/p /body /html )htmltemplate.render(resultresult)pdfkit.from_string(html,filename)✅

部署教程

启动 Flask 服务cdflask_app python flask_app.py

启动 SpringBoot 服务mvn spring-boot:run

启动 Vue 前端cdfrontendnpmrun serve

Docker 部署可选FROM nginx:alpine COPY dist /usr/share/nginx/html EXPOSE 80 CMD [nginx, -g, daemon off;]✅

用户权限管理角色权限管理员查看所有记录、管理用户普通用户查看自己的记录使用 JWT Spring Security 实现认证。

系统亮点

总结功能说明37 类病虫害检测支持多种作物与病害结合 DeepSeek/Qwen自动生成防治建议批量检测 PDF 导出适合农场批量上传可视化分析ECharts 展示用户行为用户权限控制管理员 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