import os
import pickle
import cv2
from colorama import Fore
import numpy as np
import Core.pose as pose
posImagePath = 'Data/Train/Image/Pos/'
negImagePath = 'Data/Train/Image/Neg/'
resultsPath = 'Data/Train/Processed/'
posDatas = []
negDatas = []
def gamma_trans(img,gamma):
gamma_table = [np.power(x/255.0,gamma)*255.0 for x in range(256)]
gamma_table = np.round(np.array(gamma_table)).astype(np.uint8)
return cv2.LUT(img,gamma_table)
def processImage(img):
# cv2.imwrite('Data/Processed' + str(len(posDatas) + len(negDatas)) + '.jpg', img)
imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
poseData = pose.getPosePoints(imgRGB)
if poseData:
poseData = [poseData[0]] + poseData[11:16]
'''xyMin, xyMax = 100000,- 1
zMin, zMax = 100000,- 1
for pointData in poseData:
for i, pointValue in enumerate(pointData):
if i in (0, 1):
xyMax = max(xyMax, pointValue)
xyMin = min(xyMin, pointValue)
else:
zMax = max(zMax, pointValue)
zMin = min(zMin, pointValue)
for pointData in poseData:
for i, pointValue in enumerate(pointData):
if i in (0, 1):
pointData[i] = (pointData[i] - xyMin) / (xyMax - xyMin)
else:
pointData[i] = (pointData[i] - zMin) / (zMax - zMin)'''
'''minValues, maxValues = [100000] * 3, [-1] * 3
for pointData in poseData:
for i, pointValue in enumerate(pointData):
minValues[i] = min(minValues[i], pointValue)
maxValues[i] = max(maxValues[i], pointValue)
for pointData in poseData:
for i, pointValue in enumerate(pointData):
pointData[i] = (pointData[i] - minValues[i%3]) / (maxValues[i%3] - minValues[i%3])'''
return poseData
else:
print('Error')
return None
def process_(img, dataList):
data = processImage(img)
if data:
dataList.append(data)
img_ = cv2.flip(img, 1)
data = processImage(img_)
if data:
dataList.append(data)
img_ = gamma_trans(img, 1.2)
data = processImage(img_)
if data:
dataList.append(data)
img_ = gamma_trans(img, 0.8)
data = processImage(img_)
if data:
dataList.append(data)
def process():
print(Fore.RED + '加载并处理训练数据中...')
print(Fore.RESET, end='')
for path in os.listdir(posImagePath):
img = cv2.imread(os.path.join(posImagePath, path))
process_(img, posDatas)
for path in os.listdir(negImagePath):
img = cv2.imread(os.path.join(negImagePath, path))
process_(img, negDatas)
print(Fore.CYAN + '加载并处理完毕')
print(Fore.RESET)
print(f'Pos data length: {len(posDatas)}')
print(f'Pos data size: {len(posDatas)} * {len(posDatas[0])} * {len(posDatas[0][0])}')
print('图片数量 * 关键点数量 * 关键点坐标维度')
print()
print(f'Neg data length: {len(negDatas)}')
print(f'Neg data size: {len(negDatas)} * {len(negDatas[0])} * {len(negDatas[0][0])}')
print('图片数量 * 关键点数量 * 关键点坐标维度')
print(Fore.RESET, end='')
pickle.dump(posDatas, open(os.path.join(resultsPath, 'posData.data'), 'wb'))
pickle.dump(negDatas, open(os.path.join(resultsPath, 'negData.data'), 'wb'))
没有合适的资源?快使用搜索试试~ 我知道了~
基于深度学习mediapipe的智能坐姿检测系统源码+模型.zip

共15个文件
py:11个
data:2个
pth:1个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 188 浏览量
2024-05-05
18:34:39
上传
评论 1
收藏 45KB ZIP 举报
温馨提示
基于深度学习mediapipe的智能坐姿检测系统源码+模型.zip基于深度学习mediapipe的智能坐姿检测系统源码+模型.zip基于深度学习mediapipe的智能坐姿检测系统源码+模型.zip基于深度学习mediapipe的智能坐姿检测系统源码+模型.zip基于深度学习mediapipe的智能坐姿检测系统源码+模型.zip基于深度学习mediapipe的智能坐姿检测系统源码+模型.zip基于深度学习mediapipe的智能坐姿检测系统源码+模型.zip基于深度学习mediapipe的智能坐姿检测系统源码+模型.zip
资源推荐
资源详情
资源评论




















收起资源包目录























共 15 条
- 1
资源评论


海神之光.
- 粉丝: 6118
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 软件工程学概述.pptx
- 青年教师培训计划.doc
- 软件测试期末复习资料.doc
- 斯沃数控机床调试与维修仿真软件说明书.doc
- 物联网课程设计.doc
- 网络安全及其防范措施.ppt
- 项目管理之量化管理(1).doc
- 2023年Matlab笔记二维绘图极坐标隐函数等.docx
- 煤炭建设工程预算软件操作说明(矿建).doc
- (源码)基于Python的多平台智能对话机器人系统.zip
- 无线数据业务运营软件操作手册&设计说明书.doc
- 幼儿园家长发言稿.doc
- 优质收藏资料《嵌入式系统课程设计》教学大纲.doc
- 最新电大《网络营销与策划》形考作业任务01-05网考试题及答案.pdf
- 核心网技术核心网网络架构及维护规范.doc
- 计算机上百部参考文献.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
