【发布时间】:2017-04-20 10:00:22
【问题描述】:
我正在尝试使用 C++ 的帮助 OpenCV 库来解决识别问题。
我有一些文本(如下),我想使用 cvFindContours(...) 函数分隔文本中的每个符号。之后,我想在神经网络的输入上发送每个分离的符号以进行识别。没关系。我将获得图像中的所有轮廓,并且可以借助cvDrawContours(...) 函数(如下)在我的图像上绘制它。但是cvFindContours(...) 返回无序序列(该序列中第一个轮廓上的指针),其中包含所有找到的轮廓。对于我的任务顺序非常重要。
CVAPI(int) cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour,
int header_size CV_DEFAULT(sizeof(CvContour)),
int mode CV_DEFAULT(CV_RETR_LIST),
int method CV_DEFAULT(CV_CHAIN_APPROX_SIMPLE),
CvPoint offset CV_DEFAULT(cvPoint(0,0)));
-image- 源图片
-storage- 用于存储包含轮廓的位置
-first_contour- 指向存储中第一个轮廓的指针
-mode- 搜索模式(我使用CV_RETR_EXTERNAL 搜索外部轮廓)
-method- 近似方法(我默认使用CV_CHAIN_APPROX_SIMPLE)
我怎样才能使cvFindContours(...) 函数按照它们在图片中的顺序返回轮廓?有可能吗?
谢谢!
【问题讨论】:
标签: c++ opencv opencv-contour