Findcontours检索轮廓未分类(Findcontours retrieve contours

2019-07-30 01:55发布

我们使用OpenCV进行机器人执行OCR,一切正常,直到使用Imgproc.findcontours(findning轮廓的一部分),它给后面的轮廓没有以相同的顺序,因为他们在输入图像即:输入图像MNOP第一轮廓变从findcontours()为P输入图像EFGH第一轮廓从findcontours得到()是E(这里是正确的)输入图像IJKL第一轮廓从findcontours得到()为J这样看来,它提取的轮廓随机我们如何解决这个? 因为我们想给背单词,因为它是在图像中究竟写

Answer 1:

OpenCV的似乎并不具有任何顺序,同时寻找轮廓。 如果我们需要它来分类,我们应该做手工,这是一个额外的任务。

但对于OCR的目的,我也有这个问题。 所以我所做的就是找到所检测到的轮廓的重心。 它可以使用矩被发现。

查找使用质心的时刻

或者,你可以找到轮廓的边界框,然后找到边框的中央。 后来经过OCR对同一事物的质心的数据。

这是当我准备OCR自己,我所用的方法。 你可以找到在这个SOF问题的完整细节: 简单的数字识别OCR OpenCV中的Python

编辑:FindContours的顺序(从瓦西后评论)

原图:

顺序形状部,其中发现:



文章来源: Findcontours retrieve contours unsorted
标签: opencv ocr