天天看點

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