Я хочу узнать, какой алгоритм является лучшим, который можно использовать для уменьшения растрового изображения. С лучшими я имею в виду тот, который дает самые красивые результаты. Я знаю о бикубике, но есть ли еще что-то еще? Например, я слышал от некоторых людей, что Adobe Lightroom имеет какой-то проприетарный алгоритм, который дает лучшие результаты, чем стандартный бикубик, который я использовал. К сожалению, я хотел бы использовать этот алгоритм самостоятельно в своем программном обеспечении, поэтому Adobe тщательно охраняемых торговых секретов не будет делать.
Добавлено:
Я проверил Paint.NET и, к моему удивлению, кажется, что Super Sampling лучше, чем бикубический, при уменьшении размера изображения. Это заставляет меня задаться вопросом, могут ли алгоритмы интерполяции вообще идти.
Он также напомнил мне об алгоритме, который я "придумал" сам, но так и не был реализован. Полагаю, у него также есть имя (как-то эта тривиальная не может быть моей мыслью), но я не мог найти ее среди популярных. Суперсэмплинг был самым близким.
Идея заключается в том, что для каждого пикселя в целевом изображении вычислите, где он будет в исходном изображении. Вероятно, он наложит один или несколько других пикселей. Тогда можно было бы рассчитать площади и цвета этих пикселей. Затем, чтобы получить цвет целевого пикселя, можно просто вычислить среднее значение этих цветов, добавив их области как "веса". Итак, если целевой пиксель будет покрывать 1/3 желтого пикселя источника и 1/4 зеленого пикселя источника, я бы получил (1/3 * желтый + 1/4 * зеленый)/(1/3 + 1/4).
Это, естественно, будет интенсивно вычислить, но оно должно быть как можно ближе к идеалу, не?
Есть ли имя для этого алгоритма?