【问题标题】:how to save LL, LH, HL of a wavelet transform as a 3 channel image?如何将小波变换的 LL、LH、HL 保存为 3 通道图像?
【发布时间】:2019-05-14 13:38:55
【问题描述】:

尝试使用 link 中描述的 PyWavelets 进行小波变换,这是我的代码:

import pywt
import cv2 as cv
img = cv.imread('D:/gray.jpeg', cv.IMREAD_GRAYSCALE) #read gray image.
img = cv.resize(img, (256,256))
coeffs2 = pywt.dwt2(img, 'bior1.3')
LL, (LH, HL, HH) = coeffs2

现在,我想将 LL、LH 和 HH 保存为 3 通道图像,但我不知道该怎么做,谁能告诉我该怎么做?

我的另一个问题:这仅适用于灰度图像吗?

【问题讨论】:

标签: python wavelet-transform


【解决方案1】:

将彩色图像分成三个颜色通道

b,g,r = cv2.split(img)

coeffsb = pywt.dwt2(b, 'bior1.3')
LLb, (LHb, HLb, HHb) = coeffsb

coeffsg = pywt.dwt2(g, 'bior1.3')
LLg, (LHg, HLg, HHg) = coeffsg

coeffsb = pywt.dwt2(b, 'bior1.3')
LLr, (LHr, HLr, HHb) = coeffsr

然后您可以分别对每个通道应用小波变换。之后,您可以合并您选择的波段(例如 LL):

LL = cv2.merge(LLb, LLg, LLr)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-15
    • 2015-02-20
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    相关资源
    最近更新 更多