【问题标题】:How can I detect letters in an image with openCV?如何使用 openCV 检测图像中的字母?
【发布时间】:2018-05-15 04:46:47
【问题描述】:

我想将我的图像分割成多个区域,其中一个区域等于一个字母。

我的示例图片是 https://myinvoice.be.carrefour.eu/sites/all/themes/custom/myinvoice/images/ticket.jpg

目标是单独检测每个字母。例如,它会先检测 C 的区域,然后检测 A、R、R 等。

有什么好的算法/技术可以用来做这件事吗?

我对像素阵列进行了测距,当我找到一个像素跟随像素的形状时,直到我到达起点。保存最小/最大坐标,然后通过 x + maxSHape 或类似的方法转到下一个坐标,但我担心分析需要很长时间。

【问题讨论】:

  • 看看opencv contrib下的text模块。文本模块用于执行光学字符识别,您可能还需要为此获得 tesseract。 github.com/opencv/opencv_contrib
  • @lamandy 我会这样做,但这是大学项目,我们不允许使用 OCR 库,让我们进行一些图像处理,而不仅仅是调用完成所有工作的函数。跨度>
  • 你想识别那个字母是什么还是只检测字母就足够了?
  • @janu777 检测字母区域就足够了。我已经有了一个很好的算法来识别这封信。
  • 图片格式都一样(那些票)?

标签: c++ c opencv


【解决方案1】:

如果图像那么清晰。那么这很容易。

1. Thresholding image to binary image (Otsu thresholding will work well)
2. Add some Deliation, Erosion to remove noise
3. Find contour from entire image
4. Add some are filter to select the specific font-characters

您可以使用 opencv 和 python 来实现这些任务。

【讨论】:

    猜你喜欢
    • 2017-06-14
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2018-06-16
    • 2021-07-01
    相关资源
    最近更新 更多