让一个灰度矩阵显示为图片python

背景

        今天有个小伙伴问我图片小波变换的后再重构的矩阵怎么显示出来时一片白,刚开始我以为时重构的参数出了问题,调试了代码发现,是灰度矩阵转为图片的代码不对,数据类型也没变换

核心代码

方法1

from PIL import Image

new_img=Image.fromarray(dataArray)
new_img.show()

方法2

import matplotlib.pyplot as plt

plt.imshow(dataArray,cmap='gray')

       

import pywt
import numpy as np
from cv2 import cv2
from PIL import Image
import matplotlib.pyplot as plt

img = cv2.imread("lenags15.bmp", 0)
w = 'sym4'  # 定义小波基的类型
l = 3  # 变换层次为3
coeffs = pywt.wavedec2(data=img, wavelet=w, level=l)
threshold = 0.04  # 设置滤波阈值
denoised_img = pywt.waverec2(coeffs, 'sym4' ,mode="sym")

denoised_img = denoised_img.astype(np.uint8)

'''方法1'''
new_img=Image.fromarray(denoised_img)
new_img.show()
'''方法1'''

'''方法2'''
# plt.imshow(denoised_img,cmap='gray')
'''方法2'''
posted on 2021-06-11 09:50  雾恋过往  阅读(456)  评论(0编辑  收藏  举报

Live2D