【问题标题】:Iterations in morphology closing形态闭合的迭代
【发布时间】:2020-04-20 15:56:59
【问题描述】:

我的代码如下:

def blockKernel(sizeX, sizeY = None):
    if sizeY == None:
        sizeY = sizeX
    return np.ones((sizeX, sizeY), np.uint8)

img = readImage() // skipping readImage function, since irrelevant
closeBlock1 = cv.morphologyEx(img, cv.MORPH_CLOSE, blockKernel(3), iterations=1) 
closeBlock2 = cv.morphologyEx(img, cv.MORPH_CLOSE, blockKernel(3), iterations=3)

我得到以下输出:

关闭块1:

closeBlock2:

但后来我看到了this。它说:

根据 Gonzales 的“数字图像处理,第 3 版”, 开/关的多次应用没有任何效果 在你第一次申请之后!

但这不是我得到的结果。我得到 1 对 3 次迭代,并得到不同的结果。我做错了什么或误解了什么?

【问题讨论】:

    标签: python opencv image-processing image-morphology


    【解决方案1】:

    cv.morphologyEx(img, cv.MORPH_CLOSE, blockKernel(3), iterations=3) 通过内核迭代应用关闭,它不迭代关闭。

    形态闭合是先膨胀后腐蚀。此函数通过迭代 3x3 膨胀 3 次来应用膨胀,然后通过再次迭代 3x3 腐蚀 3 次来应用腐蚀。

    【讨论】:

    • 所以如果我理解正确,让d = 膨胀和e = 腐蚀。所以关闭 = e(d(img))iterations=3 确实 e(e(e(d(d(d(img))))))?
    • 太好了,明白了。谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 2012-11-06
    • 2011-10-14
    • 2020-10-22
    • 2017-03-10
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 2011-04-25
    相关资源
    最近更新 更多