получение хорошей выборки пикселей из изображения
Вопрос
допустим, у меня есть большое изображение, содержащее около 90% зеленоватых пикселей, 9% голубоватых пикселей и 1% коричневатых пикселей.Я хочу получить выборку всего в 100 пикселей из всего изображения, имеющую, возможно, около 2000 000 пикселей.
Я не хочу, чтобы образец содержал пиксели относительно их частоты в исходном изображении, скорее в нем должно быть равное количество зеленоватых, голубоватых и коричневатых пикселей.
Я использую -ish после каждого цвета, потому что пиксели имеют разные значения, а также это было бы легко сделать, если бы я знал цвета каждого изображения, каждое изображение имеет разные цветовые группы, поэтому мне нужно придумать общий способ сделать это, который не зависит от того, что я указываю цвета изображения.
Решение
2 мегапикселя - это 8 МБ при 32 битах на пиксель.
Вы могли бы обработать 2D-массив пикселей как одномерный список чисел и отсортировать его.
Затем возьмите каждый n-й пиксель из отсортированного списка.