Files
change_cloth/check_img_body.py
T
2025-07-20 21:43:34 +08:00

39 lines
1.4 KiB
Python

import cv2
import mediapipe as mp
def is_thigh_visible(image_path):
# 初始化MediaPipe Pose模型
mp_pose = mp.solutions.pose
pose = mp_pose.Pose(static_image_mode=True, min_detection_confidence=0.5)
# 读取图像
image = cv2.imread(image_path)
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# 进行姿态估计
results = pose.process(image_rgb)
if not results.pose_landmarks:
return False # 未检测到人体
# 获取关键点
landmarks = results.pose_landmarks.landmark
# 检查髋部和膝盖之间的关键点(大腿部分)
# MediaPipe关键点索引:
# 23: 左髋, 24: 右髋
# 25: 左膝, 26: 右膝
# 检查左大腿是否可见(髋部和膝盖之间)
left_hip_visible = landmarks[mp_pose.PoseLandmark.LEFT_HIP.value].visibility > 0.6
left_knee_visible = landmarks[mp_pose.PoseLandmark.LEFT_KNEE.value].visibility > 0.6
left_thigh_visible = left_hip_visible and left_knee_visible
# 检查右大腿是否可见
right_hip_visible = landmarks[mp_pose.PoseLandmark.RIGHT_HIP.value].visibility > 0.6
right_knee_visible = landmarks[mp_pose.PoseLandmark.RIGHT_KNEE.value].visibility > 0.6
right_thigh_visible = right_hip_visible and right_knee_visible
return left_thigh_visible and right_thigh_visible
print(is_thigh_visible("/home/szlc/code/ComfyUI/change_cloth/static/imgs/fc74eded_00001_.jpg"))