gpt4 book ai didi

image-processing - 图像中文本检测的边缘检测问题

转载 作者:行者123 更新时间:2023-12-04 01:04:32 25 4
gpt4 key购买 nike

我想我 p lement Epshtein's paper ( 使用笔画宽度变换检测自然场景中的文本(2010) ) 自然图像中的文本检测。
第一步是边缘检测。

我的文本中有一些额外的边缘。我应该如何删除这些?

原图:

enter image description here
我的边缘检测:
enter image description here

在示例中,您可以在 text 中看到额外的边'为什么要快'

我在 Matlab 中尝试过这些步骤:

% contrast enhancement
I_adjust = imadjust(I);

% dilation & erosion
se = strel(ones(3,3));
I_dilate = imdilate(I_adjust, se);
I_final = imerode(I_dilate, se);

% gaussian smoothing
h_mask = fspecial('gaussian');
I_final = imfilter(I_final,h_mask);
figure; imshow(I_final);

BW_canny = edge(I_final,'canny');
figure; imshow(BW_canny);

问题#2:

根据 belisarius 的建议,我发现均值偏移过滤器对于文本区域分割非常有效。现在我在执行 时面临另一个问题。描边宽度变换 (看看 Epshtein 的论文)。

Stroke Width 适用于像 'H''Y' 这样的字符,即使对于 'S' 也是如此,因为如果我们沿梯度方向前进,相应的边缘通常距离恒定。

问题出现在像“W”这样的字符中。对于第一个上行的左边缘的一部分,我们将第二个上行的右边缘作为其对应的边缘。而对于另一部分,我们得到了第一个上行的右边缘。这在“W”区域的笔画宽度中引入了显着差异,导致根据论文将其称为非文本区域。

任何人都可以提出任何解决方案吗?

最佳答案

使用 Mean Shift Filter 在边缘检测之前。 Mathematica 中的示例:

i = Import["http://img839.imageshack.us/img839/28/whyhurry.jpg"];
iM = MeanShiftFilter[i, 2, .15, MaxIterations -> 10]
EdgeDetect[iM]

输出:

enter image description here enter image description here

关于image-processing - 图像中文本检测的边缘检测问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7776400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com