华矩EL测试仪
v1.1 — 生产就绪

太阳能电池板
EL 检测图像
自动透视裁剪

基于计算机视觉的智能裁剪工具。专为 EL(电致发光)成像系统在暗室环境拍摄的 LED 发光面板照片设计,自动检测面板四个角点,通过透视变换矫正为规整矩形。支持批量多线程处理、手动角点编辑校正、学习偏差自动优化。提供普通拍摄和无人机拍摄两种模式。

$ python app/app.py — 服务运行在 192.168.3.119:15789
300
张 / 分钟 (GPU)
99%
自动检测成功率
3
检测算法级联
v4.0
检测内核版本

核心功能特性

从图像预处理到透视变换矫正,全自动完成 EL 检测图像的裁剪工作。

🔍

自动角点检测

基于 Hough 直线检测 + 亮度阈值双算法,精准定位面板边框。检测失败时自动降级到备用算法,鲁棒性高。

Hough + Otsu
🔄

透视变换矫正

将倾斜拍摄的面板通过透视变换矫正为标准矩形,支持水平/垂直外扩比例独立调节,保留完整面板内容。

WarpPerspective
✈️

无人机模式

一张包含多个面板的无人机 EL 照片自动裁出左、中、右最多 3 块独立面板,自适应面板数量,自动跳过不完整面板。

Batch Drone
🧠

学习系统

记录用户手动修正的角点位置,积累 ≥3 条后自动叠加偏差优化后续检测。越用越准,适应不同拍摄环境。

偏差叠加

GPU 硬件加速

自动检测并使用 OpenCL 加速图像处理。300 张图片 GPU 仅需 30~90 秒,CPU 模式 3~5 分钟。

OpenCL
🌐

Web 操作界面

Flask 后端提供 Web 服务,局域网内任何设备均可访问。支持拖拽上传,实时预览裁剪效果。

Flask
👥

用户管理

管理员/普通用户两级权限。管理员可创建用户、修改密码。默认账号 admin / hjjc。

RBAC
💾

会话持久化

关闭浏览器后自动恢复上次处理进度,未完成的工作不会丢失。支持批量多线程处理。

Session

操作界面预览

从登录到裁剪完成,全流程操作界面一览。

登录页面
01登录页面
主界面
02主界面 · 拖拽上传
导入确认
03图片导入确认
正在处理
04自动裁剪处理中
裁剪完成
05裁剪完成统计
结果列表
06裁剪结果列表
结果卡片
07图片处理卡片
卡片详情
08单张详情预览
总览
09总体界面总览
主界面
登录后的主操作界面 — 拖拽或点击上传 Step 1
处理中
自动裁剪进行中 — 进度条实时反馈 Step 2
裁剪结果
裁剪完成 — 结果列表与批量下载 Step 3

系统架构

四层架构设计:前端浏览器 → Flask API → 检测内核 → OpenCV 计算机视觉。

📷 上传图片
🔐 认证
users.json
📐 角点检测
Hough + 亮度
🔄 透视变换
WarpPerspective
💾 输出下载
Hough 直线检测
主算法 · 找面板边框四条直线
Otsu 亮度阈值
备用 · Hough 失败时自动降级
fitLine 精确化
后处理 · 亚像素级精确拟合
学习偏差叠加
≥3 条修正记录自动生效

处理效果展示

真实 EL 检测图像的裁剪效果对比,支持普通拍摄与无人机拍摄两种模式。

普通模式裁剪结果

普通模式裁剪

单块太阳能电池板的 EL 检测照片,自动检测四个角点,通过透视变换矫正为规整矩形。支持外扩比例调节。

普通拍摄
左面板 中面板 右面板

无人机模式裁剪

一张无人机拍摄的 EL 照片包含三块并排面板,自动拆分为左、中、右独立输出,统一尺寸,跳过不完整面板。

无人机拍摄

技术栈

轻量化技术选型,无需复杂环境配置即可运行。

🐍
Python 3.8
嵌入式运行时
🌶️
Flask
Web 框架
👁️
OpenCV 4.x
计算机视觉
🔢
NumPy
数值计算
OpenCL
GPU 加速
🌐
HTML / JS
单页前端

系统要求(离线部署)

轻量级本地部署,无需云端依赖,保障数据安全。

🖥️

操作系统

Windows 10 / Windows 11(64位)。首次安装需要联网下载依赖,日常使用无需网络连接。

Windows
💾

磁盘与内存

内存 8 GB 以上(推荐)。安装包约 50 MB,处理图片存储空间视数量而定。

8 GB+ RAM
🌐

浏览器

Chrome / Edge / Firefox(推荐 Chrome)。工具基于 Web 界面操作,无需安装额外客户端。

Web UI

GPU 加速(可选)

支持 OpenCL 的显卡可大幅提升处理速度。300 张图片 GPU 仅需 30~90 秒,CPU 模式 3~5 分钟。

OpenCL

使用教程

从首次安装到批量裁剪,完整操作指南。

程序文件说明

首次安装步骤

1

下载 Python 环境

双击运行 1_download_python.bat,等待下载完成(约 1~3 分钟)。自动下载嵌入式 Python 到 runtime/ 目录。

2

安装依赖库

双击运行 2_install_libraries.bat,等待依赖安装完成(约 2~5 分钟)。窗口提示"所有依赖安装完成"后可关闭。安装过程中请勿关闭黑色命令行窗口。

3

启动服务

双击运行 3_start_tool.bat,浏览器将自动打开工具界面(约 1~2 秒)。若未自动打开,请手动访问 http://localhost:15789

💻

本地离线版

安装在本机,首次安装后每次使用只需双击 3_start_tool.bat。浏览器自动打开 http://127.0.0.1:15789

🌐

服务器版

部署在局域网服务器上,其他电脑无需安装任何软件,打开浏览器访问服务器 IP:15789 即可使用。

批量裁剪操作流程

1

导入图片

点击"导入图片"按钮或将图片文件拖拽到页面。支持 JPG、PNG 等常见格式,单次可导入数百张。

2

弹窗确认

导入后弹出确认框显示图片数量,点击"立即开始裁剪"按钮启动自动处理。

3

自动处理

系统自动逐张检测面板位置并完成透视变换,每张约 0.5~3 秒,多张并发处理。右上角显示 GPU/CPU 运算状态。

4

查看结果

处理完成的卡片显示绿色"已完成"标签和结果预览。失败或超时的图片显示对应状态,可在失败队列中处理。

5

完成统计

全部处理完毕后弹出汇总框,显示成功/失败/超时数量,可点击"下载全部已完成图片(ZIP)"打包下载。

6

导出结果

导出图片为 JPEG 格式(质量系数 95),文件名与原始导入文件名保持一致。三种导出方式:全部打包、单张下载、失败原图打包。

手动裁剪编辑器

1

打开方式

自动检测结果不满意时,点击卡片上的"打开编辑器"按钮(失败图片)或蓝色"✎ 重新裁剪"按钮(已完成图片)打开底部编辑器面板。

2

拖动角点

原图上显示四个橙色圆点(左上、右上、右下、左下),鼠标移至圆点附近按住左键拖动至准确位置后松开。触摸屏设备也可用手指拖动。

3

应用裁剪

调整完毕后点击"应用裁剪"查看结果,右侧实时预览裁剪效果。满意后图片状态更新为"已完成"。也可点击"重新自动检测"丢弃手动调整。

失败队列处理

⚠️

检测失败

图片过暗、面板面积占比过小、强反光遮挡、分辨率过低。可通过手动编辑器拖动角点校正,或调整外扩黑边比例后重新自动检测。

⏱️

超时(>120s)

单张图片过大(>50 MB)或系统内存不足。可减少单批导入数量或升级硬件配置后重试。

结果全黑

相机曝光不足,面板亮度低于检测阈值。建议确保原图曝光充足(面板亮度与背景对比度比值 > 5),或手动裁剪。


常见问题

使用过程中最常遇到的问题及解决方法。

Q1 浏览器未自动打开或显示"无法访问此网站"

Q2 安装依赖时提示网络错误

Q3 裁剪结果全黑或角点不准

Q4 批量处理速度慢

Q5 外扩黑边如何设置?


技术参数

检测算法与服务配置的详细参数。

自动检测算法
服务配置