2016-06-08 65 views
2

我有一個很好玩的小型渲染引擎。我想要進行一些自動渲染圖像的單元測試,然後將其與存儲的圖像進行比較以檢查差異。這應該提供某種度量來衡量圖像是否太遠,或者如果我們可以將它歸因於動畫中不同的時間點。如果它也可以產生差異圖像中的位置,那將是很好但不是必需的。我們也可以假設2張圖像是完全相同的大小。單元測試的圖像比較算法

什麼是這種事情的經典論文/技術?

(語言是圍棋,可能沒有爲它還不存在,我想實現它自己明白這是怎麼回事,該渲染器是github.com/luxengine)

謝謝

+0

你嘗試平凡取每個像素的差別像素? –

+0

是的,它並不能很好地工作,因爲小的時間變化會左右移動圖像的一部分,然後所有這些像素被認爲是超級差異 – user2475269

回答

0

一個想法可能是在Image Registration中查看您的問題。

下圖(取自http://it.mathworks.com/help/images/point-mapping.html)給出瞭解決圖像配準問題的方法的流程圖。

enter image description here

使用上面的圖來看,其基本思想是:

  1. 找到固定的圖像中一些interest points;
  2. 在動圖中找到相同的corresponding分;
  3. 使用點對應來估計兩個圖像之間的轉換。最簡單的轉換之一是由2D矢量表示的translation;這個向量的大小是衡量兩幅圖像之間的差異的值,在你的情況下,它可能與你在comment中寫到的轉變有關。更豐富的變換是由3×3矩陣描述的homography,其距單位矩陣的距離再次是兩幅圖像之間差異的量度。
  4. 例如,在將翻譯應用到運動圖像的情況下,您可以將變換應用回去,然後可以將像差逐像素地比較變形圖像(這裏我簡化一點)。

一些更多的想法在這裏:Image comparison - fast algorithm