ウェーブレット変換してノイズ除去した後、逆変換して元に戻そうとしたら、waverec内で
"please specify output_format='wavedec2'").format(type(d)))
ValueError: Unexpected detail coefficient type: <class 'numpy.ndarray'>. Detail
coefficients must be a 3-tuple of arrays as returned by wavedec2. If you are using pywt.array_to_coeffs or pywt.unravel_coeffs, please specify output_format='wavedec2'
のようなエラーが出てしまった。どんなエラーか調べても回答がなく、困っている。コードは以下の通り。最初はwavedec,waverecでやっていて、その時はこのエラーは出ず、wavedec2,waverec2に変えたらエラーがでた。
Python
1def maddest(x): 2 return np.median(np.abs(x-np.median(x))) 3 4img=cv2.imread(r"...jpg",0) 5coeff = pywt.wavedec2(img, "db1", mode="sym") 6sigma = (1/0.6745) * maddest(coeff[-1]) 7uthresh = sigma*np.sqrt(2*np.log(img.size)) 8coeff[1:] = (pywt.threshold(i, value=uthresh, mode="hard") for i in coeff[1:]) 9img_w=pywt.waverec2(coeff, "db1", mode="sym") 10plt.imshow(img_w,cmap="gray"),plt.show()
あなたの回答
tips
プレビュー