Я реализовал алгоритм размытия, и он работает. Результатом является размытое изображение, но если пропуск несколько раз алгоритм для моего изображения, изображение остается неизменным. Это похоже на дополнительные (более 1) проходы, которые не оказывают никакого эффекта.Применение алгоритма размытия несколько раз
for (f=0; f<100; f++) {
for (y = 0; y < image->h; y++) {
for (x = 0; x < image->w; x++) {
int SUM = 0;
imageBlur->pixels[y * imageBlur->w + x] = SUM/9;
}
}
}
Не имеет значения, если f равно 1 или 500, это все тот же результат, что и однократное размытие.
Возьмите очень маленькое изображение, а затем шаг через код по строкам в отладчике, чтобы узнать, что произойдет. –
Это вряд ли кажется удивительным, так как ваше размытое значение пикселя представляется в среднем равным 9 окружающим пиксельным значениям каждый раз. –
@ 500-InternalServerError Да алгоритм суммирует окружающие пиксели и усредняет значение для центра. На каждом проходе среднее значение должно быть разным. – G90