read_datasets.py 1.8 KB
Newer Older
E
Eric.Lee 已提交
1 2 3 4 5 6 7 8 9 10 11 12
#-*-coding:utf-8-*-
# date:2021-12-20
# Author: Eric.Lee
## function: read datasets example

import os
import json
import cv2
from hand_data_iter.datasets import plot_box,draw_bd_handpose
import random

if __name__ == "__main__":
E
Eric.Lee 已提交
13
    path = "./handpose_datasets_v2/"
E
Eric.Lee 已提交
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

    for f_ in os.listdir(path):
        if ".jpg" in f_:
            img_path = path +f_
            label_path = img_path.replace('.jpg','.json')
            if not os.path.exists(label_path):
                continue
            img_ = cv2.imread(img_path)

            f = open(label_path, encoding='utf-8')#读取 json文件
            hand_dict_ = json.load(f)
            f.close()

            hand_dict_ = hand_dict_["info"]
            print("len hand_dict :",len(hand_dict_))
            if len(hand_dict_)>0:
                for msg in hand_dict_:
                    bbox = msg["bbox"]
                    pts = msg["pts"]
E
Eric.Lee 已提交
33 34 35
                    hand_str = "hand"
                    if "handType" in msg.keys():
                        hand_str = "hand" + msg["handType"] + "_v2"
E
Eric.Lee 已提交
36 37
                        cv2.putText(img_, hand_str, (2,25),cv2.FONT_HERSHEY_DUPLEX, 0.8, (55, 0, 220),5)
                        cv2.putText(img_, hand_str, (2,25),cv2.FONT_HERSHEY_DUPLEX, 0.8, (255, 50, 50),2)
E
Eric.Lee 已提交
38 39


E
Eric.Lee 已提交
40 41
                    print(bbox)
                    RGB = (random.randint(50,255),random.randint(50,255),random.randint(50,255))
E
Eric.Lee 已提交
42
                    plot_box(bbox, img_, color=(RGB), label=hand_str, line_thickness=3)
E
Eric.Lee 已提交
43 44 45 46 47 48 49
                    draw_bd_handpose(img_,pts,bbox[0],bbox[1])

                    for k_ in pts.keys():
                        cv2.circle(img_, (int(pts[k_]['x']+bbox[0]),int(pts[k_]['y']+bbox[1])), 3, (255,50,155),-1)

                cv2.namedWindow("HandPose_Json",0)
                cv2.imshow("HandPose_Json",img_)
E
Eric.Lee 已提交
50
                cv2.waitKey(0)