本文将结合实例代码,介绍 OpenCV 如何查找轮廓、获取边界框。
代码: contours.py
OpenCV 提供了 findContours 函数查找轮廓,需要以二值化图像作为输入、并指定些选项调用即可。

我们以下图作为示例:
代码工程 <code>data/</code> 提供了小狗和红球的二值化掩膜图像:
其使用预训练好的实例分割模型来生成的,脚本可见 detectron2_seg_threshold.py。模型检出结果,如下:
模型用的 Mask R-CNN 已有预测边框。但其他模型会有只出预测掩膜的,此时想要边框就可以使用 OpenCV 来提取。
本文代码也提供了根据色域来获取红球掩膜的办法:
<code>boundingRect</code> 获取边界框,并绘制:
<code>minEnclosingCircle</code> 获取边界圈,并绘制:
OpenCV Tutorials / Image Processing
GoCoding 个人实践的经验分享,可关注公众号!