LINUX.ORG.RU

Поверхностный вопрос к знатокам Lanczos даунскейла картинок.

 ,


0

1

Попробовал тут реализовать на сишечке lanczos3 и получается вот такое:

оригинал: http://0x0.st/KTx6.png

результат: http://0x0.st/KTxE.jpg

Вопрос пока без исходников - правда ли что такого мерзского алиасинга в нормально реализованном lanczos3 даже близко быть не должно? Артефакты сжатия джипегом во второй картинке тоже есть, но основные претензии к этим ссаным лесенкам на тонких линиях. Если кто реализовывал lanczos-based downsampling в обозримом прошлом, можете примерно подсказать отвал жопы в каком месте мог привести к подобным приколам?

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

UPDATE Как обычно был обманут DeepSeek. Оно мне в качестве примера выдало некий кусок кода, который вот так с артефактами работал, на первый взгляд выглядело годно. Но оказалось, что оно забыло увеличить размер ядра. То есть, идеально-математическое представление ядра свёртки 3*3 в физической реализации для конкретного ratio ресайза не растягивается как нужно. Условно говоря, вам надо свернуть полоску пикселей в один пиксель, но длина этой полоски не должна быть константной в 6 пикселей, а должна растянуться плавно на «сколько нужно» если ratio больше единицы. Так-то. Короче, забыл подумать не-жопой! После допила напильником заработало идеально, прям цимес! Дипсиком я пользовался для уточнения некоторых физических смыслов, было полезно, но когда дошло до реального кода у него жопа отвалилась.



Последнее исправление: lesopilorama (всего исправлений: 6)