【问题标题】:Detecting text in image using MSER使用 MSER 检测图像中的文本
【发布时间】:2016-02-18 01:38:06
【问题描述】:

我正在尝试按照本教程http://www.mathworks.com/help/vision/examples/automatically-detect-and-recognize-text-in-natural-images.html 使用 Matlab 检测图像中的文本。

作为第一步,本教程使用detectMSERFeatures 检测图像中的文本区域。但是,当我在图像上使用此步骤时,未检测到文本区域。

这是我正在使用的 sn-p:

colorImage = imread('demo.png');
I = rgb2gray(colorImage);
% Detect MSER regions.
[mserRegions] = detectMSERFeatures(I, ...
    'RegionAreaRange',[200 8000],'ThresholdDelta',4);
figure
imshow(I)
hold on
plot(mserRegions, 'showPixelList', true,'showEllipses',false)
title('MSER regions')
hold off

这是原图

这是第一步之后的图像

[![在此处输入图片描述][2]][2]

更新

我玩过参数,但似乎没有一个可以完美地检测到文本区域。有没有比调整数字更好的方法来实现这一点?调整参数不适用于我可能拥有的大量图像。

我尝试过的一些参数及其结果:

[mserRegions] = detectMSERFeatures(I, ...
    'RegionAreaRange',[30 100],'ThresholdDelta',12);



[mserRegions] = detectMSERFeatures(I, ...
    'RegionAreaRange',[30 600],'ThresholdDelta',12);

【问题讨论】:

  • 尝试减少“MaxAreaVariation”,因为您的文本和背景几乎没有变化(减少误报),减少“RegionAreaRange”的最小值,因为小字符可能小于 200 像素(增加 true阳性),并增加“ThresholdDelta”,因为您知道文本和背景之间存在鲜明对比(减少误报)。
  • @kmac,你应该把这个作为答案。
  • 我根本没有测试它......我想如果它真的有效的话我可以。 :)

标签: matlab image-processing computer-vision matlab-cvst mser


【解决方案1】:

免责声明:完全未经测试。

尝试减少MaxAreaVariation,因为您的文字和背景几乎没有变化(减少误报)。你应该可以把它调低很多,因为它看起来像文本是数字生成的(如果是文本图片就不行了)。

尝试减小 RegionAreaRange 的最小值,因为小字符可能小于 200 像素(增加真阳性)。在 200 时,您可能会过滤掉大部分文本。

尝试增加ThresholdDelta,因为您知道文本和背景之间存在鲜明对比(减少误报)。这在过滤方面不如MaxAreaVariation 有效,但应该会有所帮助。

【讨论】:

  • 我玩过很多数字,但似乎没有一个能完美地检测到文本区域。有没有比简单地调整数字更好的方法来做到这一点? - 我已经更新了问题。
  • 你有更多关于你想要做什么的信息吗?文本/背景总是相同的颜色吗?文字总是在平坦的背景上吗? MSER 是一个比您使用它的更通用的工具。您最好屏蔽确切的背景和文本像素值,而不是使用 MSER。
  • 我的目标是提取文本区域,然后将它们发送到 ocr。我已经在 opencv 中有一个解决方案,它使用几个阈值步骤来获取文本区域。但是,它不适用于所有图像,因为它不是基于算法而是基于步骤(即阈值、canny 等)。文字总是比背景亮。我在 SO 上遇到了另一个使用 SWT 的答案:stackoverflow.com/questions/19960826/…,我认为它可以工作,但没有。我可以问一个单独的问题。
  • 因此,您应该能够立即过滤掉上述示例中填充的字母(o、a、b 等),方法是确保该功能是明暗的。无论采用何种方法,您都可能必须处理一些误报(可能从 OCR 中删除那些得分较低且与其他检测到的字符不相邻的误报)。尝试使用RegionAreaRange 更加接受,例如[8 1000],并在MaxAreaVariationThresholdDelta 的限制之前进行。如果这不起作用,祝 SWT 好运。
猜你喜欢
  • 2011-10-19
  • 1970-01-01
  • 2017-02-25
  • 2017-12-11
  • 1970-01-01
  • 1970-01-01
  • 2016-03-28
  • 2023-02-01
  • 2020-03-28
相关资源
最近更新 更多