Кто-нибудь, кто может объяснить принцип алгоритма hq2x?

Я не знаю подробных шагов алгоритма hq2x. Хотя я загрузил исходный код с веб-сайта, я все еще не могу понять шаги из исходного кода. Может ли кто-нибудь помочь мне объяснить, как сделать алгоритм шаг за шагом? Спасибо!

1 ответов


Он смотрит сразу на несколько пикселей (центральный пиксель и его соседи). Использует контраст для разделения группы на светлые и темные пиксели (думайте об этом как о 1-битном растровом изображении). Затем он использует это для распознавания шаблона, который образуют эти пиксели (например, диагональная линия) и выводит предопределенную, увеличенную версию этого шаблона, раскрашенную исходными пикселями.

например, если вы заметили, что соседние пиксели форму, форму:

X . .
. X .
. . X

затем вы можете вывести версию с более высоким разрешением это:

xXXx......
..xXXx....
....xXXx..
......xXXx

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

из-за распознавания образов hq2x хорошо работает только на высококонтрастных мультяшных изображениях. С естественными изображениями, с большим количеством размытых краев и сглаженных линий алгоритм не замечает шаблонов и в конечном итоге просто интерполирует изображение.