Image 单元测试的图像比较算法

Image 单元测试的图像比较算法,image,unit-testing,computer-vision,Image,Unit Testing,Computer Vision,我有一个小渲染引擎写的乐趣。我想有一些单元测试,将自动渲染图像,然后将其与存储的图像进行比较,以检查差异。这应该提供某种度量,以便能够衡量图像是否太远,或者我们是否可以将其归因于动画中的不同计时。如果它也能在图像中产生位置上的差异那将是巨大的,但不是必要的。我们还可以假设这两幅图像的大小完全相同 这类事情的经典论文/技巧是什么 (语言是Go,可能还不存在它,我想自己实现它以了解发生了什么。渲染器是github.com/luxengine) 谢谢你一个想法可能是把你的问题看作一个案例 下图(取自)

我有一个小渲染引擎写的乐趣。我想有一些单元测试,将自动渲染图像,然后将其与存储的图像进行比较,以检查差异。这应该提供某种度量,以便能够衡量图像是否太远,或者我们是否可以将其归因于动画中的不同计时。如果它也能在图像中产生位置上的差异那将是巨大的,但不是必要的。我们还可以假设这两幅图像的大小完全相同

这类事情的经典论文/技巧是什么

(语言是Go,可能还不存在它,我想自己实现它以了解发生了什么。渲染器是github.com/luxengine)


谢谢你

一个想法可能是把你的问题看作一个案例

下图(取自)给出了解决图像配准问题的方法流程图

使用上述数字术语,基本思想是:

  • 在固定的图像中找到一些
  • 在运动图像中找到相同的点
  • 使用点对应估计两幅图像之间的变换。最简单的变换之一是由2D向量表示的变换;这个向量的大小是两幅图像之间差异的度量,在你的例子中,它可能与你在文章中提到的偏移有关。更丰富的变换是由3x3矩阵描述的,它与单位矩阵的距离也是两个图像之间差异的度量
  • 您可以应用转换,例如,在转换的情况下,您将转换应用于运动图像,然后可以逐像素将扭曲图像与参考图像进行比较(这里我稍微简化)

  • 这里还有一些想法:

    你有没有尝试过简单地计算每像素的像素差?是的,这并不太好,因为一个小的时间变化可能会使图像的某些部分向左或向右移动,然后所有这些像素都被认为是超级不同的