Pill Counter Skill — 药片计数技能
v1.0.0使用 OpenCV 进行图像识别,精确计数药片。自动检测、分类(小圆/中圆/大圆/椭圆),标注结果图片。支持 JSON 和文本两种输出格式。适用场景:药品盘点、处方核对、药物研究计数。
运行时依赖
安装命令
点击复制技能文档
💊 药片精确计数 Skill 自动识别图片中的药片,按形状和大小分类计数。
功能 ✅ 自动检测图片中的所有药片 ✅ 分类:小圆形、中圆形、大圆形、椭圆形 ✅ 逐个编号标注,生成结果图片 ✅ 支持 JSON / 文本两种输出格式 ✅ 处理粘连药片(分水岭算法)
使用方法 基本用法 python3 scripts/pill_counter.py <图片路径> 指定输出格式 python3 scripts/pill_counter.py image.jpg --output json 保存标注结果图 python3 scripts/pill_counter.py image.jpg --save result.jpg 完整参数 python3 scripts/pill_counter.py image.jpg --output text --save result.jpg
输出示例 文本输出(默认) ============================================= 📊 药片计数结果 ============================================= ✅ 检测总数: 240 粒 🟢 小圆形: 13 粒 🔵 中圆形: 204 粒 🟠 椭圆形: 23 粒 🟢=小圆 🔵=中圆 🟣=大圆 🟠=椭圆 =============================================
JSON 输出 { "total": 240, "image_size": [3072, 4096], "categories": { "小圆形": 13, "中圆形": 204, "椭圆形": 23 } }
分类说明 类型 识别规则 颜色标记 小圆形 圆形度>0.75,面积<中位数70% 🟢 绿色 中圆形 圆形度>0.75,面积在中位数±40% 🔵 青色 大圆形 圆形度>0.75,面积>中位数140% 🟣 紫色 椭圆形 宽高比>1.4 或 <0.7 🟠 橙色
依赖 Python 3.6+ opencv-python-headless numpy
注意事项 图片需要清晰,药片与背景有明显对比度 白色药片在深色背景上效果最佳 药片有粘连时会自动分离,极端重叠可能影响精度 碎片可能被误识别为小药片