          if not item:
              continue
          points = np.array(item, np.int32)
          points = np.expand_dims(points, axis=0)
          transformed = cv2.transform(points,
                                      rotation_matrix).astype(np.int32)
          rotated.append(transformed.squeeze())
  
      # Bounding box should follow x, y planes, so get min/max
      # for non-90 degree rotations
 
</s> remove     rotation_matrix = cv2.invertAffineTransform(rotation_matrix)
 </s> add     rotation_matrix = cv2.invertAffineTransform(  # pylint: disable=no-member
        rotation_matrix) </s> remove         face = dlib.rectangle(int(pt_x), int(pt_y), int(pt_x1), int(pt_y1))
 </s> add         face = dlib.rectangle(  # pylint: disable=c-extension-no-member
            int(pt_x), int(pt_y), int(pt_x1), int(pt_y1)) </s> remove     rotation_matrix = cv2.getRotationMatrix2D(image_center, -1.*angle, 1.)
 </s> add     rotation_matrix = cv2.getRotationMatrix2D(  # pylint: disable=no-member
        image_center, -1.*angle, 1.)
        transformed = cv2.transform(points,  # pylint: disable=no-member
          if not item:
              continue
          points = np.array(item, np.int32)
          points = np.expand_dims(points, axis=0)
        transformed = cv2.transform(points,  # pylint: disable=no-member
                                      rotation_matrix).astype(np.int32)
          rotated.append(transformed.squeeze())
  
      # Bounding box should follow x, y planes, so get min/max
      # for non-90 degree rotations
keep keep keep keep replace keep keep keep keep keep
 add draw transparent to adjust. Disable seamless clone with -dt flag 
lib/utils.py