本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。
原文链接:手把手教你用Python和OpenCV搭建一个半自动标注工具(详细步骤 + 源码)
导 读
本文将手把手教你用Python和OpenCV搭建一个半自动标注工具(包含详细步骤 + 源码)。
背景介绍
样本标注是深度学习项目中最关键的部分,甚至在模型学习效果上起决定性作用。但是,标注工作往往非常繁琐且耗时。一种解决方案是使用自动图像标注工具,它可以大大减少标注的时间。
本文主要介绍的半自动标注工具为pyOpenAnnotate,此工具是基于Python和OpenCV实现,最新版本为0.4.0,可通过下面指令安装使用:
pip install pyOpenAnnotate
详细介绍与使用步骤参考链接:
https://pypi.org/project/pyOpenAnnotate/
操作演示:
标注效果:
效果如上图所示,标注完成后可以生成标注文件,后面部分将详细介绍其实现步骤。
实现步骤
实现原理流程:
说明:
【1】Threshold(二值化)只接受单通道图像,但这里并不是直接使用灰度转换图来处理,而是从灰度图、R、G、B、H、S、V通道图像中找到对比度最高的图像来做二值化。
【2】二值化之后并不能保证总是得到我们需要的掩码,有时会有噪声、斑点、边缘的干扰,所以加入了膨胀、腐蚀等形态学处理。
【3】最后通过轮廓分析得到对象的边界框,也就是左上角和右下角坐标。
代码讲解与演示
首先需要导入所需库: