Антиалиасинг рутина для сокращения

я пытаюсь реализовать пользовательскую процедуру сглаживания путем суммирования ближайших пикселей для уменьшения изображения.

Я пытался суммировать и иметь в виду до 3 пикселей в ширину, но результат не очень хороший, он настолько сглаженный (редактировать Я имею в виду алиас) как прежде.

вот код, который я использовал:

h is height
w is width
buf is a buffer containing the values.
out is the output buffer

for (int x = 0; x < w; x++)
for (int y = 0; y < h; y++)
{
int n = 3;
int x1 = x - n;
int x2 = x + n;

if (x1 < 0) x1 = 0;
if (x2 > w -1) x2 = w - 1;

int y1 = y - n;
int y2 = y + n;

if (y1 < 0) y1 = 0;
if (y2 > h - 1) y2 = h - 1;

double sum = 0;
for (int i = x1; i <= x2; i++)
for (int j = y1; j <= y2; j++)
sum += buf[i][j];

sum = sum / double((x2 - x1 +1) * (y2 - y1 +1));
out[x][y] = sum;
}

Какую быструю процедуру я мог бы использовать для простого базового сглаживания?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …