松江五中 · 科技实践项目

让叶片的早期变化
被看见、被记录

基于偏振、多光谱与荧光特征的玉米早期病害无损检测研究,用图像和量化指标辅助识别植物健康状态。

01 研究对象 / 玉米叶片02 分析方式 / 图像特征融合03 输出结果 / 风险研判
PROJECT NOTEBOOK

一张图片,生成一份可读的初步检测记录。

学生:林叶轩

检测工作台

从一张叶片开始

建议使用光线均匀、主体清晰的图片。检测结果用于科研展示与早期筛查参考。

01

图像采集

上传待检测的叶片图片

点击选择图片或拖拽到此区域 · JPG / PNG · 最大 8MB
快速载入样例

项目技术文档

把一次检测,
讲清楚、做完整

本系统面向校园科技实践项目设计,将图像采集、特征计算、结果研判和可视化展示组织为一条完整的软件流程。

01

系统流程图

系统接收叶片图片后,依次完成质量校验、区域提取、特征计算和综合研判,最后生成图表化检测记录。

采集上传叶片图片
预处理校验与尺寸调整
提取定位叶片区域
计算形成量化特征
研判输出风险记录
02

软件基础信息

软件名称玉米早期病害无损检测系统
项目学生林叶轩 · 松江五中
研究对象玉米叶片及其早期异常特征
运行形式浏览器端图像检测工作台
输入内容JPG / PNG 植物图像
输出内容病害研判、量化指标、特征热图
03

软件系统设计

系统采用前后端分层结构,各模块通过清晰的数据接口协作,保证页面展示和分析过程相互独立。

浏览器交互层图片上传 · 样例载入 · 报告展示
分析服务层文件校验 · 图像解码 · 请求调度
特征计算模块NDVI · SAVI · EVI · Fv/Fm · FR
综合研判模块可见证据 · 风险等级 · 处置建议
可视化结果层指标卡片 · 空间热图 · 技术说明
04

软件设计

功能模块

  • 图像采集支持本地选择、拖拽上传和内置样例。
  • 特征分析计算植被与荧光近似指标,并生成空间热图。
  • 结果表达以风险等级、证据和建议组织检测结论。
  • 异常处理对格式错误、空文件、超大文件和服务不可用进行提示。

设计原则

  • 可解释每项研判都保留可见证据与数据说明。
  • 可扩展后续可接入真实多光谱和荧光设备数据。
  • 易使用面向校园项目,减少复杂参数和操作步骤。
  • 有边界明确标注近似计算与辅助筛查的适用范围。

技术说明补充

从输入到结论的实现细节

以下内容用于说明系统如何组织一次完整检测,以及当前原型的边界条件。

数据流

一次检测如何完成

浏览器将图片封装为 multipart/form-data 请求发送至分析服务。服务端首先校验文件类型和大小,然后将字节流解码为图像矩阵,并按最长边进行尺寸控制,降低不同设备上传图片带来的计算波动。

图像经过叶片区域分割后,分别进入指标计算和综合研判两个分支。指标分支返回数值与热图,研判分支返回病害名称、严重程度、可见依据、可信度和建议,最终由页面合并呈现。

指标逻辑

量化特征如何解释

NDVI 用于描述植被活性变化,SAVI 用于减弱背景土壤影响,EVI 用于增强植被差异表达,Fv/Fm 与 FR 用于提供叶片光合状态和红边变化的近似参考。

由于当前输入主要来自普通 RGB 图像,系统会在结果区明确标注“近似估算”。后续接入真实偏振、多光谱和荧光设备后,可将同名指标替换为仪器原始数据,并保留相同的结果接口。

接口约定

前后端如何协作

POST /linyexuan/api/analyze 接收字段 image,成功时返回 oklocalai 三个结果域。local 保存指标及热图,综合研判域保存文本结论,页面只负责安全转义和可视化。

GET /linyexuan/api/health 用于部署检查,返回项目状态和分析服务配置状态。接口失败时页面保留本地指标,并在研判卡片显示可理解的错误信息。

运行边界

结果应该怎样使用

系统适用于校园科研展示、叶片样本初筛和不同图片之间的相对观察。图片拍摄角度、光照、背景、叶片含水量和遮挡情况都会影响计算结果,因此建议在相近采集条件下进行比较。

系统输出不能替代病原分离、显微观察、分子检测或农业技术人员的现场诊断。正式研究时,应将软件结果与实测标签、重复样本和人工记录一起保存。

参数配置与模块实现

系统当前版本的可复核信息

这些参数用于解释软件在一次检测任务中的具体行为,便于答辩、复现和后续升级。

图像输入模块

文件校验与解码

允许 JPG、JPEG 和 PNG 图片,单文件上限为 8MB。服务端读取二进制字节流后使用 OpenCV 解码,无法解码时返回明确错误,不进入后续计算。长边超过 1200 像素时按比例缩放,保持原始宽高比。

叶片分割模块

有效区域提取

系统先从图像中提取叶片候选区域,再将区域掩膜用于均值指标和热图计算。叶片占比用于反映有效区域大小,帮助判断背景过多、主体偏小或拍摄条件不稳定的情况。

特征计算模块

指标与热图生成

NDVI、NDVI_pol、SAVI、EVI、Fv/Fm 和 FR 以浮点数返回;对应的 NDVI、Fv/Fm、FR 结果通过伪彩色映射生成 JPEG 热图。所有数值在页面保留统一的小数位,并与原始图像同时展示。

研判模块

结构化结论

研判结果固定整理为 disease_present、disease_name、severity、confidence、evidence、advice 和 disclaimer 字段。若图片不是玉米或证据不足,结果应标记为无法确定,不强行给出病名。

任务状态模块

正常、降级与失败

正常状态同时返回指标和综合研判;外部研判服务不可用时,页面保留本地指标并提示研判暂不可用;格式错误、空文件和超大文件在接口层直接拦截,避免无效任务占用计算资源。

部署配置模块

浏览器到服务器

浏览器通过 HTTPS 访问项目路径,Nginx 将 /linyexuan/ 转发到 Windows Server 的 5015 端口,Flask 负责接口和页面,OpenCV 与 NumPy 负责图像特征处理。低内存服务器限制数值计算线程,降低服务启动时的内存峰值。