英文字母的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。
我正在开发一个使用函数输出的应用程序 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。