一个功能强大的微生物培养皿菌落自动计数工具,具有直观的图形界面和精确的图像处理算法。
- 🖼️ 多格式支持:支持JPG、PNG、BMP、TIFF等多种图片格式
- 🔍 智能计数:基于OpenCV的先进图像处理算法自动检测和计数菌落
- ⚙️ 参数调节:提供丰富的参数调整选项,适应不同类型的培养皿
- 🎯 区域选择:支持手动选择统计区域(矩形/圆形),可拖拽调整
- 🧫 培养皿检测:自动检测培养皿圆形区域,排除背景干扰
- 📊 实时显示:处理过程中实时显示二值化和计数结果
- 💾 结果保存:可保存包含原始图片、二值化图片和计数结果的统计报告
- 🎨 美观界面:精心设计的用户界面,操作直观简单
-
安装依赖
pip install -r requirements.txt
-
运行程序
python main.py
-
打包程序
python build.py
-
运行可执行文件
- Windows: 双击
dist/微生物菌落计数器.exe - macOS/Linux: 运行
dist/微生物菌落计数器
- Windows: 双击
使用虚拟环境 + Nuitka + UPX 的优化方案:
python nuitka_build.py或者使用新的优化脚本(推荐):
python optimize_build.py- 选择图片:点击"选择图片"按钮,选择培养皿图片文件
- 调整参数:根据图片特点调整各项参数
- 选择区域(可选):点击"选择区域"手动指定统计范围
- 处理图片:点击"处理图片"开始分析
- 查看结果:查看计数结果和统计信息
- 保存结果(可选):点击"保存结果"保存统计报告
- 高斯模糊核大小:去噪参数,建议3-15之间的奇数
- 二值化方法:
- 手动阈值:手动设置阈值
- 自适应阈值:自动适应图片亮度变化
- 自动检测培养皿圆形区域:启用后只统计培养皿内的菌落
- 最小面积:过滤掉过小的噪点
- 最大面积:过滤掉过大的非菌落物体
- 边缘距离:避免统计边缘附近的菌落
- 点击"选择区域"按钮
- 选择形状(圆形/矩形)
- 在图片上拖拽选择区域
- 确认选择后开始处理
- Python: 3.7+
- 操作系统:
- Windows 7/8/10/11
- macOS 10.12+
- Linux (Ubuntu 16.04+)
opencv-python>=4.5.0
numpy>=1.19.0
Pillow>=8.0.0
pyinstaller>=4.0.0 # 仅打包时需要
# 克隆项目
git clone <repository-url>
cd colony-counter
# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # Linux/macOS
# 或
venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt运行打包脚本:
python build.py使用PyInstaller:
pyinstaller --onefile --windowed --name "微生物菌落计数器" main.py使用Nuitka和UPX的优化方案:
python optimize_build.py该方案通过以下方式减小文件大小:
- 使用独立虚拟环境,只安装必要的运行依赖
- 使用Nuitka编译替代PyInstaller打包,提高执行效率
- 使用UPX压缩进一步减小可执行文件大小
--onefile: 打包成单个可执行文件--windowed: 隐藏控制台窗口(GUI应用)--name: 指定可执行文件名称
colony-counter/
├── main.py # 主程序文件
├── build.py # 打包脚本
├── nuitka_build.py # 优化打包脚本 (旧版)
├── optimize_build.py # 优化打包脚本 (推荐)
├── requirements.txt # 依赖列表
├── README.md # 项目说明
├── 使用说明.txt # 生成的使用说明
└── dist/ # 打包输出目录
└── 微生物菌落计数器.exe # 可执行文件
- GUI框架: Tkinter
- 图像处理: OpenCV + NumPy
- 打包工具: PyInstaller/Nuitka
- 图像显示: PIL (Pillow)
- 图像预处理: 高斯模糊去噪
- 二值化: 手动/自适应阈值分割
- 形态学处理: 轮廓检测和过滤
- 几何分析: 面积和位置过滤
- 结果可视化: 轮廓标记和编号
欢迎提交Issue和Pull Request!
- Fork本项目
- 创建特性分支:
git checkout -b feature/AmazingFeature - 提交更改:
git commit -m 'Add some AmazingFeature' - 推送分支:
git push origin feature/AmazingFeature - 创建Pull Request
本项目采用MIT许可证 - 查看 LICENSE 文件了解详情。
- 项目维护者: [Zhaohui Cai]
- 邮箱: [[email protected]]
- OpenCV社区提供的优秀图像处理库
- Python科学计算生态系统
- grok-code-fast-1
享受使用微生物菌落计数器! 🧫🔬