Я использовал гауссовское размытие, используя матрицы/ядра. У меня 3x3, 5x5 и 7x7. Однако в Corel PhotoPaint можно использовать Gaussian Blur с параметром от 0,1 до 250,0. Для значения 250 это делает изображение полностью размытым и работает мгновенно. Я попытался применить размытие 7x7 7 раз, но это занимает много времени, и изображение так же размыто, как Gaussian Blur 4.0 от Corel.Как сделать параметризованное размытие по Гауссу?
Как я могу настроить гауссовское размытие, параметризованное как одно из Corel и размытие изображений быстро?
I am using a bit optimized C code from Rosetta и 7x7 matrix from Wikipedia
I also used this routine to create 51x51 kernel но результат сравним с Corel по Гаусс = 15,0 и занимает около 30 секунд (что в 30 раз медленнее, чем Corel).
Я думаю, что код, псевдо-код или общее описание вашего алгоритма размытия могут быть полезны. Если ваш алгоритм размытия - O (N^2), то я думаю, что есть оптимизации. – angelatlarge
Я думаю, что также может быть важно четко определить, что означают параметры размытия. У меня сложилось впечатление, что нужны два параметра: пиксели будут размыты (вызовите эту область размытия или параметр 'N') и размер квадрата, который будет рассмотрен для определения нового значения размытого пикселя (назовем это' M'). В вашем размытии 3x3 есть 'N' = 3 или' M' = 3? – angelatlarge
@angelatlarge Я думаю, что мой M равен 3 (размер моего ядра), а N - 400 (размер изображения составляет около 400x400). – Tom