Библиотека пикселей изображения, не квадратная форма "пиксель"

Я видел несколько библиотек, которые пикселируют изображения, некоторые из них даже имеют неквадратные формы, такие как круг Pixelator и ромбовидные формы.

Тем не менее, я смотрю, чтобы сделать конкретную форму, я хочу, чтобы "пиксель" был 19x27 пикселей. По сути, изображение все равно будет выглядеть пиксельным, но в качестве основы пикселя будет использоваться высокая прямоугольная форма.

Существуют ли какие-либо библиотеки, которые делают это, если нет, какие изменения в существующих алгоритмах / функциях мне нужно было бы сделать для достижения этой цели?

2 ответа

Если я не понимаю ваш вопрос, алгоритм, который вам нужен, очень прост!

Просто разбейте ваше изображение на сетку прямоугольников нужного размера (в данном случае 19x27). Зацикливайтесь на каждом участке сетки и берите средний цвет пикселей внутри (вы можете просто взять среднее значение каждого канала в RGB независимо). Затем установите все пиксели, содержащиеся внутри, на средний цвет.

Это даст вам изображение того же размера, что и ваш ввод. Конечно, вы можете сначала изменить размер изображения до более подходящего размера.

Возможно, вы захотите посмотреть сверточные матрицы.

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

На самом деле это всего лишь небольшая вариация алгоритма обработки изображения Box Blur, за исключением того, что вместо захвата из соседних пикселей вы будете получать деления исходного изображения относительно 19x27 делений результирующего изображения.

Другие вопросы по тегам