случайным образом выбрать изображения с помощью PIL - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть папка с более чем 100k изображений, мне интересно, как я использую PIL для случайного выбора 5 изображений для отображения?

Приведенный ниже код вернет мне все коды, которые не возможно, хотя.

from PIL import Image

path = '/Users/Desktop/folder'
image_list = []
for x in (path): 
    im = Image.open(image_filename)
    image_list.append(im)
images = np.array(images)

Спасибо

Ответы [ 2 ]

1 голос
/ 23 февраля 2020

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

import os
import random
from PIL import Image

path = '/Users/Desktop/folder'
image_list = []

names = random.choices(os.listdir(path), k=5) #----> Randomly select 5 images
for filename in names: 
    full_path = os.path.join(path, filename)
    if os.path.isfile(full_path):
        img = Image.open(full_path)
        image_list.append(img)

Надеюсь, это поможет!

1 голос
/ 23 февраля 2020

Вы не показываете минимальный пример.

Если image_list - это весь ваш список картинок, то это может решить вашу проблему:

import random

RandomIndexList = [random.randint(0,range(len(image_list))) for i in range(5)] # 5 is the number of picture.
for i in RandomIndexList:
    image_list[i].show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...