漂淼淼 2022-05-16 15:17 采纳率: 100%
浏览 292
已结题

小波变换实例(ValueError: Input array has fewer dimensions than the specified axes报错)

问题遇到的现象和发生背景

老师给的例题,但自己运行出错

问题相关代码,请勿粘贴截图
import pywt
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family']='STSong' #图形中显示汉字
plt.rcParams['font.size']=12
img=cv.imread('E:/Pyhton数据挖掘/matlab/5_22.jpg',0) #读取图像
#对img进行haar小波变换,分量分别是低频、水平高频、垂直高频、对角线高频
cA,(cH,cV,cD)=pywt.dwt2(img,'haar')
#小波变换之后,低频分量对应的图像
p1=plt.figure(figsize=(12,6),dpi=80) #第一幅子图,并确定画布大小
ax1=p1.add_subplot(2,2,1) #创建一个22列的子图,并开始绘制第一幅
plt.axis('off') #不显示坐标轴
plt.title('低频分量图像')
AA1=np.uint8(np.uint8(cA/np.max(cA)*255))
plt.imshow(AA1,'gray')
ax1=p1.add_subplot(2,2,2)
plt.axis('off')
plt.title('水平高频分量图像')
AA2=np.uint8(np.uint8(cA/np.max(cH)*255))
plt.imshow(AA2,'gray')
ax3=p1.add_subplot(2,2,3)
plt.title('垂直高频分量图像')
plt.axis('off')
AA3=np.uint8(np.uint8(cV/np.max(cH)*255))
plt.imshow(AA3,'gray')
ax4=p1.add_subplot(2,2,4)
plt.title('对角线高频分量图像')
plt.axis('off')
AA4=np.uint8(np.uint8(cD/np.max(cH)*255))
plt.imshow(AA4,'gray')
plt.show()

运行结果及报错内容

这是运行报的错误

img

我的解答思路和尝试过的方法

不是很懂原理,找过解决方法自己尝试了很多但还是没有解决

我想要达到的结果

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月24日
    • 创建了问题 5月16日

    悬赏问题

    • ¥15 部分客户订单定位有误的问题
    • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
    • ¥15 Linux权限管理相关操作(求解答)
    • ¥15 Bug traq 数据包 大概什么价
    • ¥15 在anaconda上pytorch和paddle paddle下载报错
    • ¥25 自动填写QQ腾讯文档收集表
    • ¥15 DbVisualizer Pro 12.0.7 sql commander光标错位 显示位置与实际不符
    • ¥15 android 打包报错
    • ¥15 关于stm32的问题
    • ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?