Image 利用'对图像进行离散小波变换;哈尔';python中的小波
我试图在python中的图像上应用haar小波。这是密码Image 利用'对图像进行离散小波变换;哈尔';python中的小波,image,python-2.7,image-processing,haar-wavelet,dwt,Image,Python 2.7,Image Processing,Haar Wavelet,Dwt,我试图在python中的图像上应用haar小波。这是密码 from pywt import dwt2, idwt2 img = cv2.imread('xyz.png') cA, (cH, cV, cD) = dwt2(img, 'haar') 然后,我修改嵌入一些数据的系数,如下所示 cH1=cH+k*pn_sequence_h cV1=cV+k*pn_sequence_v 之后,我用下面的代码应用idwt idwt2(cA,(cH1,cV1,cD),'haar')[:Mc,:Nc]
from pywt import dwt2, idwt2
img = cv2.imread('xyz.png')
cA, (cH, cV, cD) = dwt2(img, 'haar')
然后,我修改嵌入一些数据的系数,如下所示
cH1=cH+k*pn_sequence_h
cV1=cV+k*pn_sequence_v
之后,我用下面的代码应用idwt
idwt2(cA,(cH1,cV1,cD),'haar')[:Mc,:Nc]
其中Mc和Nc是分解图像的高度和宽度
但是,这个代码有一个错误。下面是一个错误
Traceback (most recent call last):
File "dwt.py", line 15, in <module>
idwt2(cA,(cH1,cV1,cD),'haar')[:Mc,:Nc]
File "C:\Python27\lib\site-packages\pywt\_multidim.py", line 104, in idwt2
LL, (HL, LH, HH) = coeffs
ValueError: too many values to unpack
以下方面应起作用:
idwt2((cA,(cH1,cV1,cD)),'haar')[:Mc,:Nc]
你没有把系数打包成一个元组
import numpy as np
import pywt
import numpy
import PIL
from PIL import Image
img = PIL.Image.open("rot.png").convert("L")
imgarr = numpy.array(img)
coeffs = pywt.dwt2(imgarr, 'haar')
pywt.idwt2(coeffs, 'haar')