Unsharp обычно реализуется как сверточное ядро, которое обнаруживает ребра. Результат этой свертки добавляется обратно к исходному изображению для увеличения контрастности краев, что добавляет иллюзии дополнительной «резкости».
Точное используемое ядро сильно отличается от человека к человеку и от приложения к приложению. Большинство из них имеют такой общий формат:
-1 -1 -1
g = -1 8 -1
-1 -1 -1
Некоторые опускают диагонали, иногда вы получаете больший вес, и все ядро масштабируется, а некоторые просто пробуют разные веса. Все они имеют одинаковый эффект в конце, это просто вопрос игры, пока вы не найдете тот, который вам нравится конечный результат.
Учитывая входное изображение I
, выход определяется как:
out = I + c(I * g)
, где *
- оператор двумерной свертки, а c
- некоторая постоянная масштабирования, обычно выше 0.5
и меньше 1
, поэтому вы избегаете выбрасывать больше каналов, чем нужно.