У меня есть текстовый файл, содержащий пути к изображениям в формате JPEG, которые я хочу импортировать в свой скрипт. Я использую пример кода, предоставленного курсом Udemy: «Глубокое обучение с Python - новичок в Pro!» который обнаруживает улыбки в изображениях. У меня возникли проблемы с преобразованием изображений в матрицы / двумерные массивы:
def img2array(f, detection=False, ii_size=(64, 64)):
"""
Convert images into matrixes/two-dimensional arrays.
detection - if True we will resize an image to fit the
shape of a data that our first convolutional
layer is accepting which is 32x32 array,
used only on detection.
ii_size - this is the size that our input images have.
"""
rf=None
if detection:
rf=f.rsplit('.')
rf=rf[0]+'-resampled.'+rf[1]
im = Image.open(f)
# Create a smaller scalled down thumbnail
# of our image.
im.thumbnail(ii_size)
# Our thumbnail might not be of a perfect
# dimensions, so we need to create a new
# image and paste the thumbnail in.
newi = Image.new('L', ii_size)
newi.paste(im, (0,0))
newi.save(rf, "JPEG")
f=rf
# Turn images into an array.
data=imread(f, as_gray=True)
# Downsample it from 64x64 to 32x32
# (that's what we need to feed into our first convolutional layer).
data=block_reduce(data, block_size=(2, 2), func=np.mean)
if rf:
remove(rf)
return data
Функция вызывается в другом сценарии:
img_data=prep_array(img2array(filename, detection=True), detection=True)
Я не уверен, что делать имя «имя файла», чтобы этот код работал правильно. Когда я даю ему путь к текстовому файлу, я получаю сообщение об ошибке:
UnidentifiedImageError: невозможно определить файл изображения 'filepath \ imagelist.txt
Я новичок в Python, и мне нужна помощь в импорте правильной переменной 'filename', чтобы эта функция работала.