# color-mnist **Repository Path**: Mather/color-mnist ## Basic Information - **Project Name**: color-mnist - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-26 - **Last Updated**: 2026-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## color-mnist 该项目基于 Flask+TensorFlow 构建了一个轻量级 HTTP 接口服务,支持接收彩色 / 灰度手写数字图片(JPG/PNG 格式),通过预训练的 CNN 模型实现 0-9 手写数字的识别,返回预测的数字结果和置信度。 ## 项目依赖 | 依赖包 | 版本建议 | 作用 | | ------------- | ------------- | ------------------------------------ | | Python | 3.8~3.10 | 运行环境 | | Flask | 2.3.3 | 搭建 HTTP 接口服务 | | tensorflow | 2.10.0/2.15.0 | 加载 / 运行预训练 CNN 模型 | | pillow(PIL) | 10.0.1 | 图片预处理(格式转换 / 尺寸调整) | | numpy | 1.24.3 | 图片数组处理、数值计算 | ### 搭建方法 1. 创建并激活虚拟环境 ``` python3 -m venv venv source venv/bin/activate # Windows激活虚拟环境 # venv\Scripts\activate.bat ``` 2.安装依赖(国内镜像加速) ``` pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask==2.3.3 tensorflow==2.15.0 pillow==10.0.1 numpy==1.24.3 ``` 3. 训练获取模型 ``` # 运行模型训练脚本 train_mnist.py(生成my_model.h5) python train_mnist.py ``` 4. 启动服务 ``` python app.py #Running on http://127.0.0.1:5000 ``` ## HTTP 接口详情 ### 手写数字识别 **接口地址** `POST /predict` **接口描述** 接收上传的彩色 / 灰度手写数字图片,返回识别的数字结果和置信度。 **请求头** | 字段 | 值 | 说明 | | ------------ | ------------------- | ---------------- | | Content-Type | multipart/form-data | 支持JPG/PNG等彩色格式,尺寸为 1比1 | **响应格式(JSON)** **成功响应(200 OK)** ``` { "predicted_digit": 5, // 识别出的数字(0-9) "confidence": 0.9987, // 识别置信度(0-1,越接近1越准确) "message": "彩色图片识别成功" } ``` **失败响应** 未上传图片(400 Bad Request): ``` { "error": "未上传图片" } ``` 图片文件名为空(400 Bad Request): ``` { "error": "图片文件名为空" } ``` 识别失败(500 Internal Server Error): ``` { "error": "识别失败:[具体错误信息,如图片格式不支持/模型加载失败]" } ```