首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用openCV分割、裁剪(边界框)和标记字符

使用openCV分割、裁剪(边界框)和标记字符
EN

Stack Overflow用户
提问于 2017-04-21 17:07:42
回答 2查看 758关注 0票数 0

我有一组代表一系列字符的图像。我想知道OpenCV或其他技术是否可以分割和裁剪图像中的每个字符。例如:

我有作为输入的

我想得到:

代码语言:javascript
运行
复制
    is  5

代码语言:javascript
运行
复制
    is  0

代码语言:javascript
运行
复制
    is  4

代码语言:javascript
运行
复制
    is  1

代码语言:javascript
运行
复制
    is  9

代码语言:javascript
运行
复制
    is   2
EN

回答 2

Stack Overflow用户

发布于 2017-04-21 17:25:34

在这里,从输入到输出有两个问题:

第一个是分离你的角色。如果你的图像总是像这样,数字被整齐地分开,那么你应该可以使用findContoursconnectedComponents,也许再加上一个像minAreaRect这样的边界框函数来分离它们。

第二个问题是,一旦你分离了你的数字,如何辨别图像代表的是哪个数字。这个问题有一个名字:OCR

如果你有很多图像,也可以训练一个分类算法,就像你对这个问题的标记所暗示的那样。现在的“热门话题”是使用神经网络进行深度学习,但对于简单的应用程序,具有手动设计特征的常规机器学习分类可能会起到作用。

票数 2
EN

Stack Overflow用户

发布于 2017-07-12 17:45:31

如果你想分割数字,我会首先尝试开始操作(因为你的字母在白色背景上是黑色的,如果它相反,它将是关闭的),以填补你在数字中的空洞。然后我会垂直投影像素并分析你得到的形状。如果你找到这个投影形状中的谷点,你就会得到字符之间的垂直限制。您可以在水平方向上执行相同的操作,以获得字符的上限和下限。仅当文本为水平文本时,此方法才有效。

然后,您可以使用标准的OCR库或进行深度学习。由于这些数字似乎来自MNIST数据集,因此您将发现许多使用深度学习或其他技术对此数据集进行OCR示例:

http://yann.lecun.com/exdb/mnist/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43538464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档