Divy632/SKIN-CANCER-DETECTION-SYSTEM

GitHub: Divy632/SKIN-CANCER-DETECTION-SYSTEM

一个基于 Flask 和 ABCDE 规则的 Web 端皮肤癌初步筛查工具,通过图像分析提供风险等级评估。

Stars: 0 | Forks: 0

# 🏥 皮肤癌检测工具 一个基于 Web 的综合应用程序,利用高级图像处理技术和机器学习进行皮肤癌检测。该工具提供初步筛查结果,并配备专业的医疗主题界面。 ![Python](https://img.shields.io/badge/Python-3.7+-blue.svg) ![Flask](https://img.shields.io/badge/Flask-3.1.0-green.svg) ![Bootstrap](https://img.shields.io/badge/Bootstrap-5.1.3-purple.svg) ## ✨ 核心功能 ### 🔐 **用户认证系统** - **安全登录/注册**:专业的医疗主题认证页面 - **密码安全**:BCrypt 哈希加密及强度验证 - **会话管理**:使用 Flask-Login 进行安全的用户会话管理 - **用户仪表板**:个人分析历史和统计数据 ### 🔬 **高级图像分析** - **多因素分析**:不对称性、颜色变化、边缘不规则性 - **ABCDE 规则实现**:遵循皮肤科标准 - **风险评估**:综合评分系统(低/中/高风险) - **实时处理**:使用 PIL 和 NumPy 进行即时分析 ### 🎨 **医疗主题 UI/UX** - **专业设计**:具有合适配色的医疗级界面 - **响应式布局**:适配桌面端、平板和移动设备 - **交互元素**:拖放上传、进度指示器 - **无障碍访问**:对屏幕阅读器友好,带有适当的 ARIA 标签 ### 📊 **仪表板与分析** - **分析历史**:所有已执行分析的完整记录 - **风险统计**:风险评估的可视化展示 - **个人资料**:用户账户管理 - **快捷操作**:快速访问新的分析和过往结果 ### 🛡️ **医疗合规性** - **免责声明集成**:全程提供清晰的医疗免责声明 - **专业标准**:遵循医疗软件指南 - **数据隐私**:安全存储用户数据和分析结果 ## 🚀 快速开始 ### 前置条件 ``` # 检查 Python 版本(需要 3.7+) python --version # 检查 pip pip --version ``` ### 安装说明 1. **克隆或下载**项目到您的本地计算机 2. **安装依赖**(如果尚未安装): pip install Flask Flask-Login Flask-SQLAlchemy Flask-WTF WTForms bcrypt Pillow numpy 3. **运行应用程序**: # 选项 1:使用启动脚本 python run.py # 选项 2:直接运行 python app.py 4. **打开浏览器**并访问: http://localhost:5002 ## 💡 使用说明 ### 1. **创建账户** - 在着陆页上点击“注册” - 输入您的电子邮箱、用户名和安全密码 - 完成注册并登录 ### 2. **上传皮肤图像** - 转到分析页面 - 点击上传区域或拖放图像 - 支持的格式:PNG、JPG、JPEG、GIF、BMP、TIFF - 最大文件大小:16MB ### 3. **查看结果** - 获取带有风险评估的即时分析 - 查看技术细节和建议 - 检查您的仪表板以查看分析历史 ### 4. **专业咨询** - **始终咨询皮肤科医生**以获得正确的诊断 - 仅将结果用作筛查工具 - 如果结果令人担忧,请预约就医 ## 🛠️ 技术栈 ### 后端 - **Flask 3.1.0**:Web 框架 - **SQLAlchemy**:数据库 ORM - **Flask-Login**:用户会话管理 - **WTForms**:表单验证 - **PIL/Pillow**:图像处理 - **NumPy**:数值计算 - **BCrypt**:密码哈希 ### 前端 - **Bootstrap 5.1.3**:响应式 UI 框架 - **Font Awesome 6.0**:医疗图标和 UI 元素 - **自定义 CSS**:医疗主题样式 - **JavaScript**:交互功能和 AJAX ### 数据库 - **SQLite**:本地数据库存储 - **用户管理**:安全的用户账户 - **分析历史**:完整的分析记录 ## 📁 项目结构 ``` DEMO1/ ├── app.py # Main Flask application ├── run.py # Startup script ├── requirements.txt # Python dependencies ├── README.md # This file ├── Template/ # Jinja2 templates │ ├── base.html # Base template with medical theme │ ├── login.html # Login page │ ├── signup.html # Registration page │ ├── index.html # Main analysis page │ ├── dashboard.html # User dashboard │ ├── results.html # Analysis results │ └── about.html # About page ├── static/ # Static files │ └── uploads/ # Uploaded images └── instance/ # Database files └── skin_cancer_detection.db ``` ## 🔬 分析算法 该工具基于皮肤学的 **ABCDE 规则** 实现了全面分析: ### **A - 不对称性 (Asymmetry)** - 比较病灶的左右两半 - 使用图像对比计算不对称性得分 - 得分越高表明不对称性越大 ### **B - 边缘不规则性 (Border Irregularity)** - 使用边缘检测算法 - 分析边缘的平滑度和规则性 - 检测不规则或呈扇贝状的边缘 ### **C - 颜色变化 (Color Variation)** - 检查整个病灶的颜色分布 - 分析 RGB 颜色变化 - 检测单个病灶内的多种颜色 ### **风险评分系统** - **低风险(0-2 分)**:继续定期自我检查 - **中风险(3-4 分)**:考虑预约皮肤科医生 - **高风险(5 分以上)**:强烈建议立即咨询 ## ⚠️ 医疗免责声明 ## 🔒 安全特性 - **密码哈希**:带盐值的 BCrypt - **会话安全**:安全的会话管理 - **输入验证**:所有表单均进行服务端验证 - **文件上传安全**:类型和大小验证 - **SQL 注入防护**:SQLAlchemy ORM - **XSS 防护**:模板自动转义 ## 🎯 未来增强功能 - [ ] 集成 AI/ML 模型以提高准确性 - [ ] 多语言支持 - [ ] 导出分析报告(PDF) - [ ] 与医疗数据库集成 - [ ] 高级用户角色(患者、医生) - [ ] 远程医疗咨询功能 - [ ] 移动应用开发 ## 📞 支持 如有问题、疑问或贡献: 1. 检查控制台是否有错误消息 2. 确保已安装所有依赖项 3. 确认端口 5001 可用 4. 检查上传目录的文件权限 ## 📄 许可证 本项目仅用于教育目的。如果在临床环境中使用,请确保遵守医疗软件法规。 **用心 ❤️ 制作,致力于推进皮肤科筛查和早期癌症检测** # 皮肤癌检测工具 一个基于 Web 的皮肤癌检测工具,采用由 Python 的 PIL (Pillow) 库驱动的高级图像处理技术来分析皮肤病灶,并提供初步筛查结果。 ## ⚠️ 医疗免责声明 **本工具仅供教育和筛查目的使用。它不能替代专业的医疗诊断。如需对皮肤问题进行正确的评估和诊断,请务必咨询皮肤科医生。** ## 功能 - **图像分析**:使用 PIL/Pillow 进行高级图像处理 - **风险评估**:基于 ABCDE 规则的分析(不对称性、边缘、颜色、直径、演变) - **技术指标**:详细分析,包括不对称性得分、颜色变化和边缘不规则性 - **用户友好的界面**:基于 Bootstrap 的现代 Web 界面 - **拖放上传**:带预览的简单文件上传 - **多种格式**:支持 PNG、JPG、JPEG、GIF、BMP、TIFF ## 分析功能 该工具检查以下几个关键特征: - **不对称性分析**:比较病灶的左右两半 - **颜色变化**:分析颜色分布和变化 - **边缘不规则性**:使用边缘检测来评估边缘特征 - **颜色增强**:提高图像对比度以获得更好的分析效果 ## 技术栈 - **后端**:Flask (Python) - **图像处理**:PIL/Pillow - **数值计算**:NumPy - **前端**:Bootstrap 5、Font Awesome - **文件处理**:Werkzeug ## 安装说明 1. **克隆或下载项目** cd "MINI PROJECT" 2. **安装依赖项** pip install -r requirements.txt 3. **运行应用程序** python app.py 4. **打开浏览器** 访问 `http://127.0.0.1:5000` ## 环境要求 - Python 3.7+ - Flask 2.3.3 - Pillow 10.0.1 - NumPy 1.24.3 - Werkzeug 2.3.7 ## 使用说明 1. **上传图像**:点击上传区域或拖放图像文件 2. **支持的格式**:PNG、JPG、JPEG、GIF、BMP、TIFF(最大 16MB) 3. **分析**:该工具将自动处理图像 4. **结果**:查看风险评估和技术分析 ### 获得最佳效果的建议 - 使用良好的照明 - 清晰对焦于病灶 - 避免阴影和反光 - 包含一些周围皮肤以提供环境参考 ## 项目结构 ``` MINI PROJECT/ ├── app.py # Main Flask application ├── requirements.txt # Python dependencies ├── README.md # This file ├── Template/ # HTML templates │ ├── base.html # Base template │ ├── index.html # Home page │ ├── about.html # About page │ └── results.html # Results page └── static/ └── uploads/ # Uploaded images directory ``` ## API 端点 - `GET /` - 主页 - `POST /upload` - 文件上传和分析 - `POST /api/analyze` - 用于分析的 API 端点 - `GET /about` - 关于页面 ## 风险评估 该工具提供三个风险级别: - **低风险**:得分 0-2,继续定期自我检查 - **中风险**:得分 3-4,考虑预约皮肤科医生 - **高风险**:得分 5+,强烈建议立即咨询皮肤科医生 ## 许可证 本项目仅用于教育目的。 ## 联系方式 有关此教育工具的问题,请查阅文档或相关的教育资源。 **切记**:早期发现和专业的医疗护理至关重要。如果您对任何皮肤变化感到担忧,请立即就医。# 皮肤癌 (SKIN-CANCER)
标签:Apex, Flask, Python, 医疗健康, 图像分析, 无后门, 机器学习, 皮肤癌筛查, 逆向工具