有人可以告诉我这段代码有什么问题吗?我一直收到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()
答案 0 :(得分:4)
来自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)