Когда возникает желание иметь под рукой ограниченный самодостаточный набор инструментов, это может привести к написанию фильтра, в котором есть всё, что нужно. Само по себе желание понятно и естественно, но в результате ситуация не упрощается, а усложняется. Скока народу, стока и мнений, универсальным такой жесткий набор не может стать объективно. Возможность наращивать функции путём подключения узкоспециализированных плагинов исключительно гибкое решение, сохраняющее максимум степеней свобод. А многооперационные порождения приводят только к одному - генерации новой дублирующей ветви, которая вносит тока путаницу и нагромождение. А если ещё учесть, что операция, реализованная плагином всегда проигрывает по скорости ей-же, но в интегрированном исполнении, то вааще смысл никакой...
Исключением являются только действительно обоснованные случаи, как-то, стремление использовать мощности графического процессора. В остальном, ИМХО, не стоит отвлекаться... internal filter: general convolution
group: #Complex
Многопрофильный (универсальный) фильтр. Применяет матрицу свертки 3x3 к пикселю. Заменяет каждый пиксель линейной функцией себя и 8 соседей. Алгоритм просто позволяет добавлять к значению центрального пикселя дробные значения 8 окружающих соседей. Основание дроби = 256.
Примеры:
- Просто копия: 0,0,0/0,256,0/0,0,0.
- 3x3 average: 28,28,28/28,32,28/28,28,28.
- Sharpen: -16,-16,-16/-16,384,-16/-16,-16,-16.
- Удвоенный контраст: 0,0,0/0,512,0/0,0,0.
- Emboss from top-left, not rounded: -32,0,0/0,0,0/0,0,32.
Таким образом, это разносторонний фильтр, которым можно заменить другие (например: 3x3 average, emboss, sharpen, and brightness/contrast), однако специфические фильтры значительно лучше оптимизированы для своих задач.