一个基于 PyTorch 固定推理管线的手写笔记增强 Gradio Demo。项目不做本地训练,也不下载预训练权重;增强模型由项目内自定义 torch.nn.Module 和 OpenCV 几何算法组成。
jpg / jpeg / png 手写笔记图片2480x3508 PNGuv sync --extra dev
如果不用 uv,也可以使用普通虚拟环境:
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
python app.py
启动后打开终端中显示的 Gradio 本地地址,上传图片即可查看处理流程和下载最终 PNG。
构建 CUDA/PyTorch 镜像:
docker build -f docker/cv.dockerfile -t handnote-enhancer:cuda .
镜像内使用 uv 安装项目环境,并在 CUDA 版 PyTorch 基础镜像中固定 torch==2.8.0、torchvision==0.23.0、torchaudio==2.8.0;OpenCV 依赖来自项目配置中的 opencv-python-headless。
进入容器做训练脚本扩展或实验:
docker run --gpus all --rm -it -v "$PWD":/workspace handnote-enhancer:cuda
pytest -q
这个项目中的“模型”是无需训练的固定推理网络:它使用 PyTorch 的卷积、池化、归一化和阈值化算子完成图像增强。几何校正由 OpenCV 完成,用于更可靠地处理页面边界、透视和倾斜。