Я искал подходящий алгоритм масштабирования изображения и задавался вопросом, почему суперсэмплинг не так популярен, как бикубический, билинейный или даже lanczos.Почему суперсэмплинги широко не используются для масштабирования изображения?
supersampling Я имею в виду метод, который делит исходное изображение на равные прямоугольники, каждый прямоугольник, соответствующий пикселю в целевом изображении. На мой взгляд, это самый естественный и точный метод. Он учитывает все пиксели исходного изображения, тогда как билинейные могут пропускать некоторые пиксели. Насколько я вижу, качество также очень высокое, сопоставимое с lanczos.
Почему популярные библиотеки изображений (такие как GraphicsMagic, GD или PIL) не реализуют этот алгоритм? Я нашел реализацию только в проектах Intel IPP и AMD Framewave. Я знаю, по крайней мере, один недостаток: его можно использовать только для уменьшения масштаба, но я пропущу что-то еще?
Для сравнения это уменьшенное изображение размером 4.26x. Слева направо: GraphicsMagic Sinc фильтр (910ms), Framewave Супер метод (350 мс), GraphicsMagic треугольник фильтр (320ms):
«Ответ на ваш вопрос - это рассмотрение скорости». Но в моем примере суперсэмплинг он в 2,5 раза быстрее, чем sinc и дает лучшее качество, чем треугольник. – homm
Я не знаком с вашими испытаниями, вашим CPU и размером изображения. Но билинейный может выполняться всего несколько раз медленнее, чем просто копировать изображение. Другими словами, это, вероятно, займет несколько миллисекунд, а не сотни миллисекунд. На моем ноутбуке (Intel i7) изменение размера изображения размером 1.5 [mpix] до 0,24 [mpix] (размер изображения, который вы отправили) занимает около 9 [мсек] – DanielHsH
Это часть измененного изображения. Здесь он [оригинал] (http://en.wikipedia.org/wiki/File:Louvre_Cour_Carree.jpg). – homm