python归一化互相关_Python中的三维归一化互相关

你的意思是你目前正在寻找一个已知的物体在图像的某个地方,你现在只能处理这个物体被仿射变换(在二维平面上移动),但是你想要能够处理透视变换的物体吗?在

您可以尝试使用SURF或SIFT算法在参考图像和未知图像中查找特征:def GetSurfPoints(image, mask)

surfDetector = cv2.FeatureDetector_create("SURF")

surfExtractor = cv2.DescriptorExtractor_create("SURF")

keyPoints = surfDetector.detect(image, mask)

keyPoints, descriptions = surfExtractor.compute(image, keyPoints)

return keyPoints, descriptions

然后使用FLANN查找匹配点(这是来自cv2示例之一):

^{pr2}$

现在,如果需要,可以使用FindHomography来查找对齐两个图像的变换:referencePoints = numpy.array([keyPoints[match[0]].pt for match in matches])

newPoints = numpy.array([keyPoints[match[1]].pt for match in matches])

transformMatrix, mask = cv2.findHomography(newPoints, referencePoints, method = cv2.cv.CV_LMEDS)

然后可以使用WarpPerspective和该矩阵来对齐图像。或者你可以用前面找到的一组匹配点做其他的事情。在

你可能感兴趣的:(python归一化互相关)