首页 文章

轮廓发现

提问于
浏览
2

我想检测一个包含几个数字的区域(LCD屏幕),我要做的是:1 . 使用cvCanny()将图像转换为边缘图像,2 . 使用cvFindContours()检测轮廓,这里我正在使用TREE模式3.检测每个轮廓及其子数,如果孩子的数量大于一定数量,则结合轮廓区域和纵横比,即我感兴趣的区域 . 我的问题我正在使用for(; contours!= NULL; contours = contours-> h_next)循环,但我只能获得最高级别的树及其直接子节点数,其余似乎不包括在内无论如何,我是否可以通过每个轮廓并获得每个人的孩子数量?

谢谢!

1 回答

  • 4

    你在找什么是 contours->v_next . 它用于访问轮廓的子轮廓 . h_next 用于在同一级别上迭代轮廓 . 可能你已经猜到了h代表水平,v代表垂直 .

    当然,使用 cvFindContours() 时一定要使用 CV_RETR_TREE 方法以树形方式获取轮廓 .

相关问题