Python 如何还原openface.AlignDlib.align完成的转换?

Python 如何还原openface.AlignDlib.align完成的转换?,python,opencv,face-recognition,Python,Opencv,Face Recognition,我是新来的。我知道如何使用openface.AlignDlib.align()获得对齐的面,但是否仍有方法将面转换回其原始形状?基本上需要的是一个仿射逆变换。因此,我们需要得到一个逆变换矩阵,然后应用warpAffine。下面是一段align(): H不存储在任何地方,因此我们需要了解变换矩阵: H_reverse = cv2.getAffineTransform( imgDim * MINMAX_TEMPLATE[npLandmarkIndices], npLandmarks

我是新来的。我知道如何使用openface.AlignDlib.align()获得对齐的面,但是否仍有方法将面转换回其原始形状?

基本上需要的是一个仿射逆变换。因此,我们需要得到一个逆变换矩阵,然后应用
warpAffine
。下面是一段
align()

H
不存储在任何地方,因此我们需要了解变换矩阵:

H_reverse = cv2.getAffineTransform(
    imgDim * MINMAX_TEMPLATE[npLandmarkIndices], 
    npLandmarks[npLandmarkIndices])
inverse_projection = cv2.warpAffine(thumbnail, H_reverse, rgbImg.shape)

我没有检查代码是否实际工作,但我希望您能了解方向

这与将
rgbImg
传递到
.align()
有什么不同?只是好奇,你的问题与opencv有什么关系?@Marat:假设我对对齐的图像做了一些修改,我想在回到原始rbgImg时保留这些修改。
H_reverse = cv2.getAffineTransform(
    imgDim * MINMAX_TEMPLATE[npLandmarkIndices], 
    npLandmarks[npLandmarkIndices])
inverse_projection = cv2.warpAffine(thumbnail, H_reverse, rgbImg.shape)