python代码读取图片错误求解
代码提示错误:File "D:/tempproject/PycharmProjects/PCA.py", line 46, in img2vector
rows, cols = img.shape()
AttributeError: 'NoneType' object has no attribute 'shape'
错误位置:
def img2vector(filename):
img = cv2.imread(filename, 0)# 读入灰度值
rows, cols = img.shape
imgVector = zeros((1, rows * cols))
imgVector = reshape(img, (1, rows * cols))# 将2维转成1维
return imgVector
求大神帮助 cv2.imread你确定有返回值? 文件(filename)不存在,检查一下你的路径有没有拼错,或者文件是不是真的存在 qiuyouzhi 发表于 2020-4-15 21:37
cv2.imread你确定有返回值?
是有返回值吧 zltzlt 发表于 2020-4-15 21:38
文件(filename)不存在,检查一下你的路径有没有拼错,或者文件是不是真的存在
def loadDataSet(k):# k代表在10张图片中选择几张作为训练集
dataSetDir = r'D:\tempproject\FaceDB_orl'
# 显示文件夹内容
choose = random.permutation(10) + 1# 随机排序1-10 (0-9)+1
train_face = zeros((40 * k, 112 * 92))
train_face_number = zeros(40 * k)
test_face = zeros((40 * (10 - k), 112 * 92))
test_face_number = zeros(40 * (10 - k))
for i in range(40):# 40个人
people_num = i + 1
for j in range(10):# 每个人有10个不同的脸
if j < k:# 测试集
filename = dataSetDir + '/s' + str(people_num) + '/' + str(choose) + '.png'
img = img2vector(filename)
train_face = img
train_face_number = people_num
else:
filename = dataSetDir + '/s' + str(people_num) + '/' + str(choose) + '.png'
img = img2vector(filename)
test_face = img
test_face_number = people_num
return train_face, train_face_number, test_face, test_face_number
# 将图片转换成矩阵
def img2vector(filename):
img = cv2.imread(filename, 0)# 读入灰度值
rows, cols = img.shape
imgVector = zeros((1, rows * cols))
imgVector = reshape(img, (1, rows * cols))# 将2维转成1维
return imgVector
这个是文件路径:D:\tempproject\FaceDB_orl\s1 每个s*文件夹下面有10张图 Doris- 发表于 2020-4-15 21:44
def loadDataSet(k):# k代表在10张图片中选择几张作为训练集
dataSetDir = r'D:\tempproject\Face ...
你的完整代码就这些吗? zltzlt 发表于 2020-4-15 21:44
你的完整代码就这些吗?
错误的地方是这里 zltzlt 发表于 2020-4-15 21:44
你的完整代码就这些吗?
我自己解决了感谢大神{:5_109:} zltzlt 发表于 2020-4-15 21:38
文件(filename)不存在,检查一下你的路径有没有拼错,或者文件是不是真的存在
我自己解决了感谢大神{:5_109:} Doris- 发表于 2020-4-15 21:48
我自己解决了感谢大神
如果你的问题已解决,请设置【最佳答案】。
页:
[1]