【tensorflow】MTCNN网络基本函数flip函数

import tensorflow as tf
import numpy as np
import cv2

def flip(face, landmark):
    """
        flip face
    """
    face_flipped_by_x = cv2.flip(face, 1)#将人脸框水平翻转,参数为0时是垂直翻转,为-1时是水平垂直翻转

    landmark_ = np.asarray([(1-x, y) for (x, y) in landmark])
    landmark_[[0, 1]] = landmark_[[1, 0]]#left eye<->right eye         左右眼坐标的互换
    landmark_[[3, 4]] = landmark_[[4, 3]]#left mouth<->right mouth     左右嘴角坐标的互换
    cv2.imshow("face_flipped_by_x", face_flipped_by_x)
    print("landmark_:%s"%landmark_)
    return (face_flipped_by_x, landmark_)#

img = cv2.imread("IOU.jpg",1)
landmark = np.array([[10,10],[50,10],[35,20],[10,50],[50,50]])
img = cv2.resize(img,(300,250))
cv2.circle(img,(10,10),2,(0,0,255),-1)
cv2.circle(img,(50,10),2,(0,0,255),-1)
cv2.circle(img,(35,20),2,(0,0,255),-1)
cv2.circle(img,(10,50),2,(0,0,255),-1)
cv2.circle(img,(50,50),2,(0,0,255),-1)
flip(img,landmark)
cv2.imshow("img",img)
cv2.waitKey()

在这里插入图片描述
在这里插入图片描述

此时landmark 变为负值不是很理解,图像翻转后值点位置应该还是为正值吧。

猜你喜欢

转载自blog.csdn.net/zhouzongzong/article/details/94647010