code
import cv2
import numpy as np
from skimage import transform as trans
img_size = 112
dst = np. array( [ [ 38.2946 , 51.6963 ] ,
[ 73.5318 , 51.5014 ] ,
[ 56.0252 , 71.7366 ] ,
[ 41.5493 , 92.3655 ] ,
[ 70.7299 , 92.2041 ] ] , dtype= np. float32 )
tform = trans. SimilarityTransform( )
tform. estimate( src, dst)
M = tform. params[ 0 : 2 , : ]
warped_img = cv2. warpAffine( img, M, ( img_size, img_size) , borderValue = 0.0 )
M = cv2. estimateRigidTransform( src, dst, True )
img1 = img. copy( )
cv2. rectangle( img1, ( int ( rect[ 0 ] ) , int ( rect[ 1 ] ) ) , ( int ( rect[ 2 ] ) , int ( rect[ 3 ] ) ) , ( 0 , 0 , 255 ) , 2 )
text = "{:.3f}" . format ( rect[ 4 ] )
cv2. putText( img1, text, ( int ( rect[ 0 ] ) , int ( rect[ 1 ] ) + 12 ) , cv2. FONT_HERSHEY_DUPLEX, 1 , ( 255 , 255 , 255 ) )
for i in range ( 4 ) :
x1 = int ( landm[ i* 2 ] )
y1 = int ( landm[ i* 2 + 1 ] )
cv2. circle( img1, ( x1, y1) , 1 , ( 0 , 255 , 0 ) , 4 )
cv2. imwrite( 'draw.jpg' , img1)