#python #machine-learning #deep-learning #dataset #pickle
#python #машинное обучение #глубокое обучение #набор данных #pickle
Вопрос:
У меня есть код на Python для просмотра изображений в файле Pickle.
Код, который я использовал :
train_images=pickle.load(open("full_CNN_train.p", "rb" ))
plt.imshow(train_images)
Здесь я получил такую ошибку: TypeError: недопустимая форма (12764, 80, 160, 3) для данных изображения
Поэтому я добавил дополнительную строку в код
plt.imshow(train_images[0])
Теперь я могу получить только один вывод изображения, где, поскольку файл pickle содержит большое количество изображений.
Печать формата данных Pickle (train_images)
Как просмотреть несколько изображений, присутствующих в нем? Я сделал что-то не так? Пожалуйста, помогите мне решить эту проблему.Спасибо!
Комментарии:
1. Это список изображений. Что-то вроде «для изображения в train_images: plt.imshow (изображение)»
2. Да, я тоже это применил, но все же я могу просмотреть 1 изображение. Не удается просмотреть другие изображения. Проверен размер train_images, который равен 12000. Есть ли другой способ?
3. Как бы вы хотели увидеть 12000 изображений? Все сразу? Вы можете сохранить изображения в формате jpg и использовать свой любимый просмотрщик изображений.
4. Нет, я просто хочу сделать скриншоты из 5 или 10 изображений, чтобы добавить их в свой отчет по проекту. Я использую Spyder для запуска кода. Спасибо, приятель! Можете ли вы просто помочь мне, как сохранить другие изображения, поскольку я могу видеть только 1 изображение
5. Я сохранил текущее изображение набора данных, но не могу просмотреть другие изображения
Ответ №1:
Попробуйте это, чтобы сохранить некоторые изображения
import pickle as pl
import cv2
fr = open('full_CNN_train.p', 'rb')
images = pl.load(fr)
fr.close()
for i in range(11):
cv2.imwrite(f"img_{i * 1000}.jpg", images[i * 1000])