【问题标题】:Horizontal and Vertical dilation using skimage使用 skimage 进行水平和垂直膨胀
【发布时间】:2021-01-10 15:10:12
【问题描述】:

我的任务是对字符进行定向形态扩张,因此它会生成垂直扩张的水平条和水平扩张的垂直条。


其中 a) 是原始字符 b) 垂直扩张后和 c) 水平扩张后。

下面是 skimage 的代码,但是它没有产生我期望的结果。

from skimage.morphology import dilation, erosion
from skimage.io import imshow, imread, show
import numpy as np
from skimage.filters import threshold_otsu

image = imread('img/A_en.png', as_gray=True)
#binarizing the image
thresh = threshold_otsu(image)
binary = image > thresh

sev = np.ones((20,1)) #20 -row 1-column
seh = np.ones((1,20))
vertical = erosion(binary,sev)
horizontal = erosion(binary, seh)

结果:

【问题讨论】:

  • 请尝试改进您的问题,首先将其设为“最小完整可验证示例”,这意味着您将出于某种原因删除的所有import 语句放回原处,其次,通过更具体地说明结果问题 - 也许您可以分享您肯定必须拥有的结果?谢谢。
  • 使用腐蚀(erode),而不是膨胀..
  • 我看到您已更正示例以使用侵蚀。 ???现在,请注意输入图像的右边缘有一个垂直的黑条:这会干扰您的水平侵蚀(如您所见)。除此之外,结果看起来是正确的:请注意,20 的足迹相当于 10 的半径,如果您查看 A 的顶部,它似乎已经移动了大约 10 个像素。所以你只需要增加你的足迹大小。

标签: scikit-image mathematical-morphology dilation


【解决方案1】:

形态学将白色区域视为前景,将黑色区域视为背景。所以,如果你想扩大黑色的字母,你需要:

  • 先反转图像,或者
  • 使用膨胀的对应物,即腐蚀。

【讨论】:

    猜你喜欢
    • 2019-04-05
    • 2012-05-09
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2013-12-10
    相关资源
    最近更新 更多