所谓图像的轮廓填充,是建立在图像的轮廓已然查找完成的情况下的,以下面图像为例:
我们首先需要查找到图像中的圆形和正方形的几个轮廓,之后才能对这些轮廓进行处理(查找的过程我们用到OpenCV的findContours函数)。
在得到轮廓之后,难点就转变为如何填充轮廓了,对于左上角的圆来说,直接填充即可,然而对于圆环和“田”字,则一般只希望填充两个轮廓直接的区域,中间的孔洞则保留,因此在对轮廓进行填充之前需要做进一步的判断工作(通过判断findContours函数的第三个参数对象实现),具体的实现代码如下:
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "time.h"
using namespace cv;
using namespace

本文介绍了在C/C++中使用OpenCV进行图像轮廓查找和填充的方法。首先通过findContours函数查找图像中的轮廓,然后利用drawContours进行填充。特别地,针对圆环和复杂形状,需要判断并填充轮廓之间的区域,确保孔洞不被填充。最终展示了一张经过白色填充后的图像,可以进一步通过连通域检测处理。
订阅专栏 解锁全文
1072

被折叠的 条评论
为什么被折叠?



