Аргументы из связанных документов:
a: 1-D массивный или int
Если ndarray, из его элементов генерируется случайная выборка. Если int, случайная выборка генерируется так, как если бы был np.arange (a)
size: int или tuple of ints, необязательный
Форма вывода. Если заданная форма равна, например, (m, n, k), то рисуются m * n * k выборок. Значение по умолчанию: None, в этом случае возвращается одно значение.
replace: boolean, optional
Независимо от того, имеет ли образец с заменой или без нее
p: 1 -D array-like, optional
Вероятности, связанные с каждой записью в a. Если не указано, образец принимает равномерное распределение по всем элементам в a.
Аргумент
shape
должен быть размером вашего изображения, например,(100,100)
. Аргументомa
должно быть распределение, а аргументомp
должно быть распределение, генерируемое гистограммой.Например,
import numpy as np bins = np.array([0,0.5,1]) freq = np.array([1.,2,3]) prob = freq / np.sum(freq) image = np.random.choice(bins, size=(100,100), replace=True, p=prob) plt.imshow(image)
дает
Для поддержки нескольких цветовых каналов у вас есть несколько вариантов. Вот один, где мы выбираем из цветовых индексов вместо самих цветов:
colors = np.array([(255.,0,0), (0,255,0), (0,0,255)]) indices = np.array(range(len(colors))) im_indices = np.random.choice(indices, size=(100,100), p=prob) image = colors[im_indices]