opencv 二值图像剔除小连通区域
Posted zi-wang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv 二值图像剔除小连通区域相关的知识,希望对你有一定的参考价值。
二值图像剔除小面积连通区域在二值图像连通区域分析时很有用,之前做的使用采用了for循环的形式,后来学习了c++标准库,发现可以使用vector.erase(std::remove_if())
的方法直接剔除。
统计二值图像的连通区域通过cv::findcontours()
实现,二值图像轮廓的容器是std::vector
。连通区域的面积可以由函数cv::contourArea()
得到。
剔除小面积连通区域后,可以使用函数cv::drawContours()
函数将轮廓画出,将其第三个参数设置为-1为画所有轮廓,将其第5个参数设置为cv::FILLED
设置为填充。则可以得到剔除后小面积连通后的二值图像。
以上是关于opencv 二值图像剔除小连通区域的主要内容,如果未能解决你的问题,请参考以下文章