Я не могу прочитать файл изображения в определенном каталоге - PullRequest
0 голосов
/ 08 ноября 2019

Я снял некоторые изображения в своей камере и попытался изменить их размер с помощью библиотеки opencv, но я думаю, что не могу прочитать изображения, я не знаю причину. Спасибо за помощь заранее.

У меня есть версия Python 3.8 и обновленная версия библиотеки opencv. Я полагаю, что фон не очень.

import os,cv2
count=0
for file in os.listdir('E:\Projects\Python\Resixing images\Images'):
    if file.endswith('.jpg'):
        print(file)
        img=cv2.imread(file)
        img2=img.copy()
        img2=cv2.resize(img2,(700,700))
        name="resize"+str(count)+".jpg"
        cv2.imwrite(name,img2)
        count+=1

Я получаю сообщение об ошибке

P_20191107_214848_SRES.jpg Traceback (самая последняявызовите последний): файл "E: \ Projects \ Python \ Resixing images \ image change res.py", строка 7, в img2 = img.copy () AttributeError: у объекта 'NoneType' нет атрибута 'copy' [Завершено в 9.7S]

1 Ответ

0 голосов
/ 08 ноября 2019

Попробуйте это:

img=cv2.imread('E:\Projects\Python\Resixing images\Images' + '\' + file)

Проблема заключалась в том, что вы отправляли только имя файла в программу python, поэтому программа пыталась найти изображение в текущем каталоге, а не в вашемуказанный путь. Вышеуказанное изменение должно решить проблему.

также хорошей идеей будет иметь 2 // вместо 1 /, просто чтобы избежать какого-либо спецификатора формата в середине, или вы можете просто использовать r дляукажите путь к необработанной строке

img=cv2.imread('E:\\Projects\\Python\\Resixing images\\Images' + '\\' + file)
img=cv2.imread(r'E:\Projects\Python\Resixing images\Images\' + file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...