【问题标题】:Error: 'numpy.ndarray' object has no attribute 'mode'错误:“numpy.ndarray”对象没有属性“模式”
【发布时间】:2020-10-11 17:07:53
【问题描述】:

我在这里查看过这个错误,但代码不同,他使用了 PIL.ImageOps

所以基本上我收到了这段代码的错误:

img1 = cv2.imread(r'C:\Users\Yael\Desktop\final project\Image processing\PC3\PC3_Glucose_1.tif', 0)
enhancer = ImageEnhance.Brightness(img1)
enhancer = ImageEnhance.Brightness(img1)
enhanced_im = enhancer.enhance(1.8)
# enhanced_im.save("enhanced.sample5.png")
img = cv2.resize(enhanced_im, (960, 540))
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

回溯是:

 Traceback (most recent call last):
  File "C:/Users/Yael/PycharmProjects/FinalProject/Cell_Detection.py", line 9, in <module>
    enhancer = ImageEnhance.Brightness(img1)
  File "C:\Users\Yael\AppData\Roaming\Python\Python37\site-packages\PIL\ImageEnhance.py", line 84, in __init__
    self.degenerate = Image.new(image.mode, image.size, 0)
AttributeError: 'numpy.ndarray' object has no attribute 'mode'

我试图拍摄一张非常暗的图像并使其更亮,以便我可以看到图像。当我使用 MATLAB 时,我使用了 imadjust

image = imadjust(dark_image,[0 adjustment],[]);

所以我试图在 Python 上模仿它

谢谢你:)

【问题讨论】:

标签: python python-imaging-library cv2 image-enhancement


【解决方案1】:

cv2.imread 返回一个numpy.ndarray 对象,但ImageEnhance.Brightness 期待一个PIL.Image.Image 对象,如documentation 所示。

检查docs 以从路径创建PIL.Image.Image 对象。

【讨论】:

  • 请接受并为其他未来用户投票
猜你喜欢
  • 2021-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-16
  • 1970-01-01
  • 2020-09-22
  • 2020-02-21
  • 2020-12-08
相关资源
最近更新 更多