比较两幅图像的异同时需要先对两幅图像进行对齐操作
对齐方法如下:
1 使用OpenCV对两幅图像进行角点检测
2 求取两幅图像的角点平均值
3 比较两幅图像的角点平均值获得偏移值
4 根据偏移值矫正图像
代码如下:
import numpy
import cv2
def transformation_from_points(cropImg1,cropImg2):
corners1 = cv2.goodFeaturesToTrack(cropImg1,25,0.01,10)
n = int(len(corners1))
corners1 = corners1.reshape(n, 2)
corners2 = cv2.goodFeaturesToTrack(cropImg2,25,0.01,10)
n = int(len(corners2))
corners2 = corners2.reshape(n, 2)
points1 = corners1
points2 = corners2
sumX1 = 0
sumY1 = 0
x,y = points1.shape
for m in range(x):
sumX1 = sumX1 + points1[m][0]
sumY1 = sumY1 + points2[m][1]
sumX2 = 0
sumY2 = 0
x,y = points2.shape
for n in range(x):
sumX2 = sumX2 + points2[n][0]
sumY2 = sumY2 + points2[n][1]
c1 = int((sumX2 /