天天看点

OpenCV 查找轮廓

本文将结合实例代码,介绍 OpenCV 如何查找轮廓、获取边界框。

代码: contours.py

OpenCV 提供了 findContours 函数查找轮廓,需要以二值化图像作为输入、并指定些选项调用即可。

OpenCV 查找轮廓

我们以下图作为示例:

OpenCV 查找轮廓

代码工程 <code>data/</code> 提供了小狗和红球的二值化掩膜图像:

OpenCV 查找轮廓
OpenCV 查找轮廓

其使用预训练好的实例分割模型来生成的,脚本可见 detectron2_seg_threshold.py。模型检出结果,如下:

OpenCV 查找轮廓

模型用的 Mask R-CNN 已有预测边框。但其他模型会有只出预测掩膜的,此时想要边框就可以使用 OpenCV 来提取。

本文代码也提供了根据色域来获取红球掩膜的办法:

<code>boundingRect</code> 获取边界框,并绘制:

OpenCV 查找轮廓

<code>minEnclosingCircle</code> 获取边界圈,并绘制:

OpenCV 查找轮廓

OpenCV Tutorials / Image Processing

GoCoding 个人实践的经验分享,可关注公众号!