如何比较两种图像缩放算法的“质量”?

5
假设我想在我的程序中包含一个图像放大/缩小算法。执行时间不重要,结果的“质量”很重要。在这种情况下,你如何定义“质量”,然后如何从可用选择中选择最佳算法?
另外一方面,如果这太笼统了,那么我试图找到解决方案的根本问题是:假设我有很多图像需要在运行时进行放大(实际上是视频)。我可以使用慢速高质量的算法预处理它们并将它们放大到某种程度,但我不知道最终的分辨率(毕竟人们有不同的显示器),因此我无法立即调整大小。如果我使用高质量的算法对其进行部分放大,然后让播放器在运行时使用快速但低质量的算法进一步放大到必要的分辨率,这样是否有益?还是应该保留视频原样,并让所有放大在运行时完成?
1个回答

1
唯一真正客观评估质量的方法是进行一些(半)科学研究。招募几个参与者。以随机顺序向他们展示放大后的图像,并让他们排名主观质量(双盲测试会得到额外加分)。然后平均分数并选择平均分数最高的算法(也许还要测试统计显著性)。
您需要确保测试的图像对实际使用的图像进行了代表性抽样。如果您正在为视频做这件事,最好使用短视频剪辑作为测试图像,而不是静止图像,因为我认为人们会对这两种缩放质量有不同的感知。
如果您不关心严谨性,可以只将自己作为唯一的测试对象进行测试。
至于进行初始预缩放,我的猜测是不值得。从较大的图像进行放大处理不应比从较小的原始图像进行放大处理更加昂贵,而且我预计它比按方便的因子(例如2倍)进行放大要昂贵得多。但是,不要听我的话...去测试吧!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接