# CatIdentify **Repository Path**: jijie0418/cat-identify ## Basic Information - **Project Name**: CatIdentify - **Description**: 识别校园小猫的小程序端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-04-15 - **Last Updated**: 2026-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 猫咪识别应用 基于YOLOv5的猫咪识别应用,可以检测图片中是否有猫,标记出猫的位置,并识别猫的品种。 ## 功能特性 - 图片上传与预览 - 猫咪检测(基于YOLOv5预训练模型) - 猫品种识别(支持多种常见猫品种) - 多猫同时识别与区分 - 检测结果可视化展示 - 支持移动端与H5多端适配 ## 技术栈 ### 前端 - Vue 3 + uni-app(跨端开发框架) - uni-ui 组件库 - Vue I18n 国际化支持 ### 后端 - Django + Django REST Framework - OpenCV 图像处理 - 通义千问大语言模型(品种识别增强) ### AI模型 - YOLOv5(目标检测) - EfficientNet(品种识别) - ConvNeXt(特征提取) ## 目录结构 ``` ├── backend/ # 后端代码 │ ├── catIdentify/ # Django项目主目录 │ │ ├── yolov5/ # YOLOv5模型 │ │ ├── cat_breeds/ # 猫品种数据 │ │ ├── models/ # 自定义模型 │ │ └── media/ # 媒体文件存储 │ └── requirements.txt # 后端依赖 ├── src/ # 前端源代码 │ ├── api/ # API接口封装 │ ├── components/ # 公共组件 │ ├── pages/ # 页面文件 │ ├── static/ # 静态资源 │ └── utils/ # 工具函数 ├── scripts/ # 部署和工具脚本 └── dist/ # 构建输出目录 ``` ## 部署说明 ### 后端部署 1. 安装依赖: ```bash cd backend pip install -r requirements.txt ``` 2. 准备模型文件: - 确保YOLOv5模型文件已放置在正确位置 - 如需使用自定义训练的模型,请替换`yolov5s.pt`文件 3. 运行服务器: ```bash cd catIdentify python manage.py runserver 0.0.0.0:8000 ``` ### 前端部署 1. 安装依赖: ```bash npm install # 或使用 pnpm install ``` 2. 运行开发服务器: ```bash # H5版本 npm run dev:h5 # 微信小程序 npm run dev:mp-weixin ``` 3. 打包生产版本: ```bash # H5版本 npm run build:h5 # 微信小程序 npm run build:mp-weixin ``` ## API 接口 ### 猫咪检测接口 - URL: `/api/yolov5/detect/` - 方法: POST - 参数: - image: 图片文件 - 响应: ```json { "cat_detected": true, "detection_count": 1, "detections": [ { "box": [100, 200, 300, 400], "confidence": 0.95, "class": "cat" } ], "result_image": "base64编码的结果图像" } ``` ### 猫品种识别接口 - URL: `/api/cat/breed/` - 方法: POST - 参数: - image: 图片文件 - 响应: ```json { "breeds": { "0": "狸花猫", "1": "美国短毛猫", "2": "虎斑猫" }, "time": 2.15 } ``` ## 注意事项 - 项目中包含一些大型模型文件,请勿直接提交到Git仓库 - 模型文件可以通过外部存储或模型下载脚本获取 - 请遵循.gitignore文件中的规则,避免提交不必要的文件 ## 后续开发计划 - 视频流实时猫咪检测 - 猫咪行为分析功能 - 用户猫咪图库与历史记录 - 改进模型精度与性能 ## 贡献指南 欢迎贡献代码或提交问题反馈,请遵循以下步骤: 1. Fork本仓库 2. 创建特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 创建Pull Request ## 许可证 本项目采用MIT许可证 - 详见LICENSE文件