opencv 9 -- 轮廓 近似方法

Posted wust小吴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv 9 -- 轮廓 近似方法相关的知识,希望对你有一定的参考价值。

这是函数 cv2.findCountours() 的第三个参数。它到底代表什么意思呢?

轮廓是一个形状具有相同灰度值的边界。
它会存贮形状边界上所有的 (x,y) 坐标。
但是需要将所有的这些边界点都存储吗?
这就是这 个参数要告诉函数 cv2.findContours 的

这个参数如果被设置为 cv2.CHAIN_APPROX_NONE,所有的边界点都会被存储。
但是我们真的需要这么多点吗?例如,当我们找的边界是一条直线时。
你用需要直线上所有的点来表示直线吗?不是的,我们只需要这条直线的两个端点而已。

这就是 cv2.CHAIN_APPROX_SIMPLE 要做的
它会将轮廓上的冗余点都去掉,压缩轮廓,从而节省内存开支

使用 cv2.CHAIN_APPROX_SIMPLE 的结果,一般只有 4 个点

左边是用cv2.CHAIN_APPROX_NONE,
右边是用 cv2.CHAIN_APPROX_SIMPLE

以上是关于opencv 9 -- 轮廓 近似方法的主要内容,如果未能解决你的问题,请参考以下文章

opencv 9 -- 轮廓 特征 二

opencv 9 -- 轮廓 特征 二

OpenCV中的图像处理 —— 轮廓入门+轮廓特征

youcans 的 OpenCV 例程200篇197.轮廓的基本特征

近似线到平面图轮廓

opencv 多边形近似物体形状 cv.approxPolyDP函数的应用