我使用無監(jiān)督維納算法應(yīng)用了圖像反卷積,并增加了特定數(shù)據(jù)集的清晰度和對比度。但是我在編譯代碼時遇到了錯誤。它顯示AttributeError: 'numpy.ndarray' 對象沒有屬性 'convert'。如何解決?我的代碼如下 -import cv2import globfrom matplotlib import pyplot as pltfrom skimage import io, color, restoration, img_as_floatimport scipy.stats as stimport numpy as npfrom PIL import Imagefrom PIL import ImageEnhanceall_img = glob.glob('input/*.png')other_dir = 'output/'for img_id, img_path in enumerate(all_img): img = img_as_float(io.imread(img_path,0)) def gkern(kernlen=21, nsig=2): lim = kernlen//2 + (kernlen % 2)/2 x = np.linspace(-lim, lim, kernlen+1) kern1d = np.diff(st.norm.cdf(x)) kern2d = np.outer(kern1d, kern1d) return kern2d/kern2d.sum() psf = gkern(5,3) deconvolved, _ = restoration.unsupervised_wiener(img, pdf) # Applied Sharpness and contrast enhancer_object = ImageEnhance.Contrast(deconvolved) out = enhancer_object.enhance(1.4) enhancer = ImageEnhance.Sharpness(out) enhanced_im = enhancer.enhance(8.0) enhanced_cv_im = np.array(enhanced_im) cl2 = cv2.resize(enhanced_cv_im, (512,512), interpolation = cv2.INTER_CUBIC) plt.imsave(f"output/unsupervised_wiener_{img_id}.png", cl2, cmap='gray')它顯示了錯誤-runfile('C:/Users/Junaed/.spyder-py3/unsupervised_wiener.py', wdir='C:/Users/Junaed/.spyder-py3')Traceback (most recent call last): File "C:\Users\Junaed\.spyder-py3\unsupervised_wiener.py", line 37, in <module> enhancer_object = ImageEnhance.Contrast(deconvolved)AttributeError: 'numpy.ndarray' object has no attribute 'convert'
1 回答

尚方寶劍之說
TA貢獻1788條經(jīng)驗 獲得超4個贊
ImageEnhance.Contrast() 需要一個 PIL 圖像,它可以在其上運行 image.convert ,但您向它傳遞了一個 numpy 數(shù)組。要轉(zhuǎn)換為 PIL,您可以這樣做
from PIL import Image
import numpy
im = Image.fromarray(numpy.uint8(deconvolved))
添加回答
舉報
0/150
提交
取消