OpenCV之findcontours原理参考、理解和用法

OpenCV Findcontours( ) 函数原理出自于该论文的算法:Suzuki, S. and Abe, K., TopologicalStructural Analysis of Digitized Binary Images by Border Following.CVGIP 30 1, pp32-46 (1985)

经过证实的资料:

首选:https://zhuanlan.zhihu.com/p/144807771 如果能看懂,就基本理解

看不懂可以再看:https://zhuanlan.zhihu.com/p/107257870

谢谢大牛分享。

下面记录在学习中的坑:

1、注意搜索的时候顺时针、逆时针的地方,否则就会得到不同的结果;

2、实际论文算法是得不到里面例子那个结果的,需要参考首选链接里的这段处理才可以得到相同结果:

后来想了一段时间,这里 对像素左边和右边同时为0的情况,应该做特殊处理。因为轮廓是逆时针寻找,那么可以通过寻找的方位判断该赋值NBD还是-NBD,如果是从上往下扫的,则为NBD,如果是从下往上扫描的,则赋值-NBD。(具体实现可以参考代码)

3、关于轮廓的父子关系,也就是论文中的这个表,看当前轮廓类型(在步骤1里确定),然后看之前的轮廓类型来确定,例如,当前轮廓类型为Outer border,最近一次轮廓类型为Outer Border,则当前轮廓为最近一次轮廓的父轮廓,其它类似:

OpenCV之findcontours原理参考、理解和用法

4、判定某个点是是否搜索过从每次轮廓开始搜索时候算,一旦NBD+1了,则重新开始算搜索没搜索过,不是历史上搜索没搜索过;

5、关于类似(i2,j2)

Original: https://blog.csdn.net/h649070/article/details/118991409
Author: 手口一斤
Title: OpenCV之findcontours原理参考、理解和用法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/637139/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球