怎么分析出扫描图与模板图的重合位置、角度

如何分析出扫描图与模板图的重合位置、角度?
首先,我有一张空白的单据(就是发票之类的)
扫描后,获得了一张图像,将此图像在PS中处理,剔除多余的空白,校正角度。得到一张模板图,我称之为A.

然后,我有一张打印好的单据(就是用打印机在先前的单据上打上字)
扫描后,获得一张图像B,因为扫描的时候放的位置、角度都很随便,所以我需要根据模板图A校正图B。
也就是说,我需要
1.确定图B在哪个位置上能和图A重合,
2.确定图B需要旋转多少角度才能与图A重合

这是问题1: 使用何种算法?或者何种开发包能够让我获知图B的偏移量和旋转角度?

当确定了图B中发票的位置后,会处理图B,校正后得到图C.
图C应该能够与图A(也就是模板)最大限度的重合。

我需要剔除图C上所有与图A相同的像素,保留不同的部分,(也就是说,将图C中打印机打印的字提出出来)
这样就能得到最终的图D.

这是问题2: 如果剔除2张图片上相同的背景(我想逐像素处理这种方式不是很好,因为扫描出来的图像不可能完全一致),应该使用某种算法来剔除。不知有何算法可以?


------解决方案--------------------
探讨
回楼上 我的图像不扭曲,只是 被旋转了, 且,此图像周围有空白区域, 因为扫描出来的图像不等于票据的版面大小。 是否这种算法仍然有效??