我想找出可用于缩小光栅图片大小的最佳算法。最好我的意思是能给出最好看的结果的那个。我知道双三次,但还有更好的东西吗?例如,我从一些人那里听说,Adobe Lightroom 有某种专有算法,它比我使用的标准双三次产生更好的结果。不幸的是,我想在我的软件中自己使用这个算法,所以 Adobe 精心保护的商业机密是行不通的。
添加:
我检查了 Paint.NET,令我惊讶的是,在缩小图片尺寸时,超级采样似乎比双三次更好。这让我想知道插值算法是否完全可行。
它还让我想起了我自己“发明”但从未实现过的算法。我想它也有一个名字(因为这个微不足道的东西不可能是我一个人的想法),但我在流行的名字中找不到它。超级采样是最接近的。
这个想法是这样的——对于目标图片中的每个像素,计算它在源图片中的位置。它可能会覆盖一个或多个其他像素。然后可以计算这些像素的面积和颜色。然后,要获得目标像素的颜色,只需计算这些颜色的平均值,将它们的面积添加为“权重”。因此,如果目标像素覆盖黄色源像素的 1/3 和绿色源像素的 1/4,我会得到 (1/3*yellow + 1/4*green)/(1/3+ 1/4)。
这自然是计算密集型的,但它应该尽可能接近理想,不是吗?
这个算法有名字吗?