鱼C论坛

 找回密码
 立即注册
查看: 1159|回复: 9

[已解决]python代码读取图片错误求解

[复制链接]
发表于 2020-4-15 21:35:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码提示错误:

  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

求大神帮助
最佳答案
2020-4-15 21:38:15
文件(filename)不存在,检查一下你的路径有没有拼错,或者文件是不是真的存在
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-15 21:37:48 | 显示全部楼层
cv2.imread你确定有返回值?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 21:38:15 | 显示全部楼层    本楼为最佳答案   
文件(filename)不存在,检查一下你的路径有没有拼错,或者文件是不是真的存在
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 21:41:34 | 显示全部楼层
qiuyouzhi 发表于 2020-4-15 21:37
cv2.imread你确定有返回值?

是有返回值吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 21:44:02 | 显示全部楼层
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[j]) + '.png'
                img = img2vector(filename)
                train_face[i * k + j, :] = img
                train_face_number[i * k + j] = people_num
            else:
                filename = dataSetDir + '/s' + str(people_num) + '/' + str(choose[j]) + '.png'
                img = img2vector(filename)
                test_face[i * (10 - k) + (j - k), :] = img
                test_face_number[i * (10 - k) + (j - k)] = 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张图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 21:44:29 | 显示全部楼层
Doris- 发表于 2020-4-15 21:44
def loadDataSet(k):  # k代表在10张图片中选择几张作为训练集
    dataSetDir = r'D:\tempproject\Face ...

你的完整代码就这些吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 21:44:56 | 显示全部楼层
zltzlt 发表于 2020-4-15 21:44
你的完整代码就这些吗?

错误的地方是这里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 21:47:49 | 显示全部楼层
zltzlt 发表于 2020-4-15 21:44
你的完整代码就这些吗?

我自己解决了  感谢大神
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 21:48:44 | 显示全部楼层
zltzlt 发表于 2020-4-15 21:38
文件(filename)不存在,检查一下你的路径有没有拼错,或者文件是不是真的存在

我自己解决了  感谢大神
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 21:51:18 | 显示全部楼层
Doris- 发表于 2020-4-15 21:48
我自己解决了  感谢大神

如果你的问题已解决,请设置【最佳答案】。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 12:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表