天天看点

300WLP数据的读取300WLP真实标签的读取

300WLP真实标签的读取

300WLP数据有成对的图片(jpg)和标签组成的,标签都以mat形式保存的,里面包含了了【'__header__', '__version__', '__globals__', 'pt2d', 'roi', 'Illum_Para', 'Color_Para', 'Tex_Para', 'Shape_Para', 'Exp_Para', 'Pose_Para'】

import h5py
from scipy.io import loadmat
import numpy as np
import math

if __name__ == "__main__":
    mat_path = "/home/sunny/dataset/300W_LP/AFW/AFW_134212_1_0.mat"
    c_mat = loadmat(mat_path)
    print(c_mat.keys())

    #人脸68个关键点
    landmarks = np.array(np.transpose(c_mat['pt2d'])).astype('float').reshape(-1, 2)
    print("landmarks \n", landmarks)
    
    #头部姿态角的俯仰、偏航和滚转角(以弧度的形式表示),并将弧度制转变为以度(°)为单位
    Pose_Para = c_mat['Pose_Para']
    pitch = Pose_Para[0][0] * 180 / math.pi
    yaw = Pose_Para[0][1] * 180 / math.pi
    roll = Pose_Para[0][2] * 180 / math.pi
    print("pitch: {} yaw: {} roll: {}".format(pitch, yaw, roll))
           

头部姿态输出:

pitch: -18.200389713407343 yaw: 26.86726114746613 roll: -8.615160925626265
           

参考:

https://blog.csdn.net/weixin_41449637/article/details/103604103