环境时ubutnu 16.04
为了下载openpose快一些,安装ss
sudo apt install libsodium-dev
pip install git+https://github.com/shadowsocks/shadowsocks.git@master
sslocal -c config.json
在CPU_ONLY的状态下,测试
./build/examples/openpose/openpose.bin --image_dir /home/pikachu/Desktop/test --write_json /home/pikachu/Desktop/test --net_resolution 192x144 --display 0
批量提取文件夹中图片的pose信息
# -*- coding: utf-8 -*-
import os, sys
import datetime
# 所有数据放在DATASET_ROOT下,每一类放在一个文件夹
# 提取的帧放在OUTPUT_ROOT/pose下,每一类在一个文件夹,每一个视频提取的帧在以视频命令的文件夹下
DATASET_ROOT='/home/pikachu/Desktop/dataset/'
OUTPUT_ROOT='/home/pikachu/Desktop/'
OPENPOSE_ROOT='/'
# 提取帧的命令
def get_cmd(dir):
# ./build/examples/openpose/openpose.bin --image_dir /home/pikachu/Desktop/test --write_json /home/pikachu/Desktop/test --net_resolution 192x144 --display 0
bin_path = OPENPOSE_ROOT+'/build/examples/openpose/openpose.bin'
image_dir = DATASET_ROOT + file
write_json_path = OUTPUT_ROOT+'json/'+file
if not os.path.exists(write_json_path):
os.makedirs(write_json_path)
cmd=bin_path+' --image_dir '+image_dir+' --write_json '+write_json_path+' --net_resolution 192x144 --display 0 > /dev/null'
return cmd
starttime = datetime.datetime.now()
# 遍历DATASET_ROOT
# 实际上,根据我的目录结构,其实只需要跟进两层
# 一层是大类,一层是具体的
dirs = os.listdir(DATASET_ROOT)
for dir1 in dirs:
for dir2 in os.listdir(DATASET_ROOT+'/'+di1r):
# 视频帧所在目录
dir = dir1+'/'+dir2
cmd = get_cmd(dir)
print(cmd)
# os.system(cmd)
endtime = datetime.datetime.now()
print('times: ',(endtime-starttime).seconds,' seconds')