英文字母的drawContours函数

drawContours function on english letters

我正在开发一个使用函数输出的应用程序 drawContours()

输入是斜体文本的照片(.jpg 或 .png),我需要使用此函数在字母周围创建矩形。

现在,当我绘制矩形时,我看到函数为某些字母(例如字母 O 和 A)计算了其中的 2 个。

是否可以对图像进行预处理s.t。该函数只计算每个字母的较大矩形,例如 O 和 A?

我用的代码就是这个link中的代码: https://docs.opencv.org/2.4/doc/tutorials/imgproc/shapedescriptors/bounding_rotated_ellipses/bounding_rotated_ellipses.html

仅没有 ellipse() 函数。

您实际上有多种选择...所有这些都在 findContours 的文档中进行了解释。特别是 mode 参数。

我想你正在使用 CV_RETR_TREE,这个说

...reconstructs a full hierarchy of nested contours...

这意味着您可以 select 根据您要使用的层次结构。您可以参考有关层次结构的文档(在该函数的层次结构参数中有完整解释),这将告诉您一个轮廓是否在另一个轮廓内。

另一种方法是,如果你输入 CV_RETR_EXTERNAL 这个方法只会 return 外部轮廓,从输出中消除内部轮廓。

此外,CV_RETR_CCOMP也是可以的,但我还没有用过这个,但基本上它会有2个层次,其中一个是外部轮廓。

因此,一切都取决于您是否需要后期的内部轮廓。如果没有,我建议使用 CV_RETR_EXTERNAL,如果您以后需要它们,请使用 TREE。