jourmager
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору useretail Цитата:| я все страницы и до этого не читал | А зря. Можно было только меня Цитата:| а вот при повороте на иные градусы уже будут потери. поэтому для избежания таких случаеьв, поворот нужно осуществлять или в формате без потерь (например в упомянутом мною ранее JPEG 2000) или пересчётом с исходных значений пикселей | Или я вас не понял, или. Поворот любого растрового изображения осуществляется с искажениями. И формат тут никакой роли не играет. Потому что формат без потерь - это сжатие без потерь, а не геометрическое преобразование без потерь. Представьте себе - был чёрный квадрат размером 1х1 пиксель. потом его повернули на 30 градусов вокруг центра пикселя (или вокруг какой-то другой точки) с сохранением линейных размеров этого квадрата. Из картинки видно, что с одной стороны, "родной" пиксель квадрата уже не полностью занят этим квадратом, с другой стороны все 4 соседних пикселя уже не полностью белые, а немного заняты чёрным пикселем. и тут 2 варианта - или оставить 2 цвета - чёрный и белый, основываясь тупо на процентном отношении чёрный/белый (есть более продвинутые алгоритмы бинаризации, но сейчас не про них), или перевести все 5 пикселей в серый цвет с учётом того же процентного отношения чёрный/белый. А теперь представьте себе, что такой пиксель не один, а дофигища, и что они могут быть серо-буро-малиновыми. Задача поворота растровых изображений раскладывается на 2 подзадачи - собственно сам поворот (пересчёт координат) и интерполяция пикселей на контрастных контурах. Методы linear, bilinear, bicubic, Lanczos, B-Spline, etc - это всё методы интерполяции для сглаживания контуров контрастных деталей. И в любом случае они дадут размытие хотя бы 2 соседних пикселей относительно контрастной границы. Насколько это размытие будет заметно - зависит от алгоритма интерполяции, самого поворачиваемого объекта, угла поворота и чего-то ещё. В общем случае, чем более сложный алгоритм, тем более качественная картинка. Но на практике не всё так однозначно. Тут недавно zvezdochiot пробовал объяснить недостатки Lanczos, но я расскажу своими грубыми словами, то что знаю. Lanczos в силу своей природы в некоторых случаях делает перешарп. Т.е. добавляет контрастные детали там, где их никогда не было. В результате можно получить более контрастную картинку (меньше "мыла"), но зубчатую. Нельзя забывать, что алгоритм - это одно, а его программная реализация - это другое. Проблема осложняется тем, что в случае поворота книжных страниц поворачиваются буквы, которые имеют размеры штрихов в единицы пикселей, т.е. размываться будет вся буква. Это неизбежное зло, плата за кривое сканирование. Я знаю обработчиков, которые во имя "качества" вообще отключают компенсацию поворота при малых углах. Методы исправления этого зла есть, но это уже другой разговор. zvezdochiot Я настолько задолбался рыться во всевозможных первоисточниках и биться головой об стенку, доказывая элементарные очевидные вещи, что быть вам достойным оппонентом я сейчас не могу. Сорри. Archivist Т.к. сам автор СканКромсатора не прояснил алгоритмы работы своей программы, то попробуем расслабиться и удовлетвориться вот этим: Interpolate: Для grey/color-сканов. Это Fast с билинейной интерполяцией - для предотвращения артефактов (например, "ступеньки" в строках текста). Хорош для gray и color, для b/w ничего особого не дает. На толщину повёрнутого текста влияет значение параметра convert to b/w threshold (закладка Convert). Если выбрать Interpolate и задать Сonvert = LowLight, то уширение практически исчезает, при том, что текст поворачивается так же хорошо (т.е. не деформируется ступеньками), как и при Antialias-повороте. Начиная с версии 5.9, метод Interpolate переписан на Ассемблере, поэтому работает быстрее, чем Fast. Автор: monday2000. Дата создания: 27 марта 2006 г. Изменено: 30 октября 2007 г. И ещё - вы каждые пару лет появляетесь в этой теме с претензиями к отсутствию кубика и Ланцоша у СканТейлора. Вам оппонировали U235, slava_cry, papaVlad (и другие) - без толку. Я пока тут на 5 страницах изгалялся, так сам всё понял, а вы 7 лет продолжаете гонятся за призраками. | Всего записей: 1056 | Зарегистр. 04-11-2019 | Отправлено: 12:49 09-11-2025 | Исправлено: jourmager, 14:44 09-11-2025 |
|