В таблице поддержки Visual Studio C ++ 11 четко указано, что эталонные квалификаторы еще не реализованы в официальном выпуске. Это включает в себя Visual Studio 2013.
Мне не удалось найти подтверждение в примечаниях к выпуску для различных представлений Visual Studio «14» и 2015, которые доступны в этих предварительных просмотрах (и, следовательно, в предстоящем Visual Studio 2015), хотя это меня не удивило, учитывая, что CTP в ноябре 2013 года якобы поддерживает их .
Кроме того, сообщение в блоге из команды Visual Studio также предполагает, что Visual Studio 2015 будет поддерживать эту функцию.
Аргументы из связанных документов:
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]
random.choices может выбирать элементы из взвешенной совокупности. Пример:
>>> import random
>>> histogram = {"white": 1, "red": 5, "blue": 10}
>>> pixels = random.choices(list(histogram.keys()), list(histogram.values()), k=25)
>>> pixels
['blue', 'red', 'red', 'red', 'blue', 'red', 'red', 'white', 'blue', 'white', 'red', 'red', 'blue', 'red', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue']