【问题标题】:AttributeError: 'NoneType' object has no attribute 'ravel'AttributeError:“NoneType”对象没有属性“ravel”
【发布时间】:2015-02-07 16:08:22
【问题描述】:

谁能告诉我这段代码有什么问题?我不断收到NoneType 错误。我正在尝试创建直方图。

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('C:\Pictures\naturalScene.bmp',0)
plt.hist(img.ravel(),256,[0,256]);
plt.show()

【问题讨论】:

  • img 只是空的(无)。再次检查路径。

标签: python opencv numpy matplotlib image-compression


【解决方案1】:

来自docs

函数 imread 从指定文件加载图像并返回。如果无法读取图像(由于缺少文件、权限不正确、格式不受支持或无效),该函数将返回一个空矩阵( Mat::data==NULL )。

你的路径不正确你需要转义\n:

cv2.imread('C:\\Pictures\\naturalScene.bmp',0)

或者使用/:

cv2.imread('C:/Pictures/naturalScene.bmp',0)

或者正如@Martijn Pieters 所说,使用原始字符串文字:

cv2.imread(r'C:\Pictures\naturalScene.bmp',0)

【讨论】:

  • 我发现主要问题是图片。出于某种原因,即使路径现在正确,它也会弹出相同的错误。不过谢谢,如果你没有告诉我,我不会意识到最初是错误的路径。
  • @Pedro,别担心,图片格式肯定有问题。
猜你喜欢
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
  • 2021-12-26
  • 2019-07-23
  • 2018-05-13
  • 2020-09-07
相关资源
最近更新 更多