【问题标题】:Reconstructed Image after Laplacian Pyramid Not the same as original image拉普拉斯金字塔后的重建图像与原始图像不同
【发布时间】:2015-05-28 06:24:37
【问题描述】:

我正在将 RGB 图像转换为 YCbCr,然后想要计算拉普拉斯金字塔。颜色转换后,我正在尝试使用 OpenCV 的图像金字塔教程中给出的代码来找到图像的拉普拉斯金字塔,然后重建原始图像。但是,如果我将代码中的级别数增加到更高的数字,例如 10,则重建图像(转换回 RGB 后)看起来与原始图像不同(图像看起来模糊 - 请参阅下面的链接确切的图像)。我不确定为什么会这样。当级别增加或代码有什么问题时会发生这种情况吗?

frame = cv2.cvtColor(frame_RGB, cv2.COLOR_BGR2YCR_CB)
height = 10
Gauss = frame.copy()
gpA = [Gauss]
for i in xrange(height):
    Gauss = cv2.pyrDown(Gauss)
    gpA.append(Gauss)

lbImage = [gpA[height-1]]

for j in xrange(height-1,0,-1):
    GE = cv2.pyrUp(gpA[j])
    L = cv2.subtract(gpA[j-1],GE)
    lbImage.append(L)

ls_ = lbImage[0]     
for j in range(1,height,1):
    ls_ = cv2.pyrUp(ls_)
    ls_ = cv2.add(ls_,lbImage[j])

ls_ = cv2.cvtColor(ls_, cv2.COLOR_YCR_CB2BGR)                
cv2.imshow("Pyramid reconstructed Image",ls_)
cv2.waitKey(0)

参考请看重建图和原图。

Reconstructed Image

Original Image

【问题讨论】:

  • 你为什么要创建拉普拉斯金字塔?你在用它吗?为什么不直接使用原图?
  • 我想执行需要拉普拉斯分解的时间过滤。过滤后,我需要将过滤后的输出添加到原始图像(我有,不需要金字塔重建)。现在我的问题是,如果我无法从金字塔中获得好的原始图像,那么我执行的时间过滤也将不正确。因此,我需要一种方法,它可以给我一个金字塔,以便我可以正确执行过滤。

标签: python image opencv image-processing


【解决方案1】:

不要使用np.add()np.substract()。他们执行剪辑。使用直接 - 和 + 矩阵运算符。换句话说,使用:

L = gpA[j-1] - GE

代替:

L = cv2.subtract(gpA[j-1],GE)

【讨论】:

    【解决方案2】:

    pyrDown 模糊图像并对其进行下采样,从而丢失一些信息。保存的金字塔等级(gpA[] 这里)包含越来越小的图像矩阵,但不要保留被拒绝的信息细节(高频的)。

    因此重建的图像无法显示所有原始细节

    来自教程: Note: When we reduce the size of an image, we are actually losing information of the image.

    【讨论】:

    • 感谢您的信息。无论如何我可以重建原始图像吗?
    • 为了完美地重建图像,您还必须保存每个级别的重采样(pyrdown+pyrup)图像之间的差异。但是会消耗大量内存,所以存储原始图像会更好。你的主要目标是什么?
    • 我找到了一种从金字塔中获得更好图像的方法。在上面的代码中,我在每一步都在做 cv2.subtract() 。取而代之的是,通常将图像像 img1 - img2(其中 img2 是 img1 的高斯图像)减去 height-1 级别,然后最后使用 cv2.subtract 作为最后一个级别。这不会将每个级别的减法后的值剪裁为 0(如果它们给出负值),而是只会在最后一个级别执行一次。为此,我必须先将图像转换为 int16。 cv2.add() 函数也可以这样做。它似乎工作正常。不过感谢您的回答:)
    猜你喜欢
    • 2021-03-20
    • 2018-04-15
    • 2020-07-05
    • 1970-01-01
    • 2012-09-16
    • 2021-11-28
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多