【问题标题】:Interpretation of Horizontal and Vertical Summations of an Image图像水平和垂直总和的解释
【发布时间】:2017-01-02 08:40:06
【问题描述】:

我有一个二进制文件,它在图像的不同部分(如底部、顶部、中心、右中中心等)有一些文本。

原图

我想重点关注的区域是红色显示的手动绘制区域。

我计算了图像的水平和垂直总和并绘制了它们:

plot(sum(edgedImage1,1))

plot(sum(edgedImage1,2))

有人可以解释一下这些图告诉我什么关于我上面解释的原始图像的结构吗? 此外,这些图如何帮助我提取我刚刚手动绘制的红色区域?

【问题讨论】:

    标签: image matlab image-processing plot projection


    【解决方案1】:

    上一个图中的最小值是文本行之间的间隙...

    您只需获取图表并将其y 轴与图像的y 轴对齐,然后将每列像素数量过少的阈值区域对齐。这些区域(红色)是文本行之间的间隙或图像上的任何内容:

    现在,如果需要,您应该对图像进行去歪斜。如果偏斜太大,您甚至需要在 y 轴求和之前应用去偏斜。

    在此之后,您分别为每个非红色区域制作x 轴求和图,并以相同的方式检测字符/单词之间的间隙,以获得每个字符的 OCR 区域。这次你对齐x

    如果取而代之的是字符区域,这些图也可以用于 OCR,请参阅

    如果您对间隙/非间隙大小进行统计分析,那么最常见的分析通常是常规文本的字体间距/大小。

    【讨论】:

    • 我没有得到如何在 matlab 中执行?
    • @NaseerAhmed 我根本不会在 Matlab 中编码(因为我讨厌那种环境),但是您可以将总和图存储为一维向量并照此处理。如果您不知道如何使用单个 if 语句编写 1D 中的阈值等基本内容,只需 for 循环,那么您可能应该从更简单的任务开始。如果不自己编写代码,您需要浏览 matlab 的大量内置函数,并寻找那些可以被利用的函数,然后像拼图一样将它们组装在一起,直到获得理想的结果。
    【解决方案2】:

    求和运算没有什么复杂的。简而言之,sum(edgedImage1,1) 计算图像中每一列的所有行的总和,这就是您要绘制的内容。实际上,您正在计算每列所有行的所有非零值(即白色像素)的总和。图中的水平轴表示您正在观察的行的总和。同样,sum(edgedImage,2) 计算图像每一行的所有列的总和,这就是您要绘制的内容。

    由于您的文本以水平方式显示,sum(edgeImage,1) 不会特别有用。非常有用的是sum(edgedImage,2) 操作。对于图像中空白的行,图像每行的列的水平总和应该是一个非常小的值,而对于图像中包含文本或笔划的行,总和应该非常大。我正在谈论的一个很好的例子是在您的图像底部看到的。如果您在第 600 行和第 700 行之间进行查询,您会在绘图中看到一个巨大的峰值,因为这些行之间有很多文本。

    使用此结果,确定图像中哪些区域包含文本或笔划的粗略方法是查找超过某个阈值的所有行。结合从刚刚执行的求和运算中查找模式或峰值,您可以非常轻松地定位和分离出每个文本区域。

    如果您决定确定有多少文本块,您可能需要平滑sum(edgedImage,2) 提供的曲线。把这个信号平滑掉后,你会清楚的看到5行文字对应5种模式。

    【讨论】:

    • 你的解释非常棒,真的很有帮助。如果你能向我推荐一些我可以复制的代码链接,或者如果你有时间请帮助我更多关于这与编码有关吗?
    • @NaseerAhmed 如果您提供原始图像(没有您绘制的红色矩形),我可以用我可以编写的一些代码向您展示一些示例结果。
    • @NaseerAhmed 我会尽快回复您。
    • @NaseerAhmed 抱歉,我会尽快处理您的问题。这是忙碌的一天。
    • @NaseerAhmed 当然可以。让我开始工作,我会发布一些结果。不幸的是,我没有时间,但我没有忘记你。
    【解决方案3】:

    显示每行总和的第二个图。这可以告诉您哪些行有很多信息,哪些行没有。

    您可以使用此图来查找矩形,方法是查找矩形起点值的急剧倾斜和矩形终点值的急剧下降。在你这样做之前,我会对数据进行低通滤波,然后查看它的导数并寻找一个大的导数。

    你可以在第一个图上做同样的事情,但它更敏感。

    【讨论】:

    • matlab 有什么努力吗?
    猜你喜欢
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 2018-08-06
    • 2018-06-23
    • 1970-01-01
    相关资源
    最近更新 更多