CV之DNN:基于OpenPose的OpenCV利用DNN算法实现对单人体姿态(詹姆斯扣篮+美女跳舞)实时估计检测

简介: CV之DNN:基于OpenPose的OpenCV利用DNN算法实现对单人体姿态(詹姆斯扣篮+美女跳舞)实时估计检测

输出结果

image.png


image.png





实现代码


CV之DNN:基于OpenPose的OpenCV利用DNN算法实现对单人体姿态(美女跳舞)实时估计检测—实现代码


   points = []

   for i in range(len(BODY_PARTS)):

       # Slice heatmap of corresponging body's part.

       heatMap = out[0, i, :, :]

       _, conf, _, point = cv.minMaxLoc(heatMap)

       x = (frameWidth * point[0]) / out.shape[3]

       y = (frameHeight * point[1]) / out.shape[2]

       # Add a point if it's confidence is higher than threshold.

       points.append((int(x), int(y)) if conf > args.thr else None)

   for pair in POSE_PAIRS:

       partFrom = pair[0]

       partTo = pair[1]

       assert(partFrom in BODY_PARTS)

       assert(partTo in BODY_PARTS)

       idFrom = BODY_PARTS[partFrom]

       idTo = BODY_PARTS[partTo]

       if points[idFrom] and points[idTo]:

           cv.line(frame, points[idFrom], points[idTo], (0, 255, 0), 3)

           cv.ellipse(frame, points[idFrom], (3, 3), 0, 0, 360, (0, 0, 255), cv.FILLED)

           cv.ellipse(frame, points[idTo], (3, 3), 0, 0, 360, (0, 0, 255), cv.FILLED)

   t, _ = net.getPerfProfile()

   freq = cv.getTickFrequency() / 1000

   cv.putText(frame, '%.2fms' % (t / freq), (10, 20), cv.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0))





 


相关文章
|
27天前
|
传感器 算法 Shell
【使用卡尔曼滤波器将陀螺仪和加速度计的读数融合,以获取IMU的姿态(四元数)】实现了所谓的“零速度更新”算法,用于行人跟踪(步态跟踪)(Matlab代码实现)
【使用卡尔曼滤波器将陀螺仪和加速度计的读数融合,以获取IMU的姿态(四元数)】实现了所谓的“零速度更新”算法,用于行人跟踪(步态跟踪)(Matlab代码实现)
|
12月前
|
计算机视觉
Opencv学习笔记(八):如何通过cv2读取视频和摄像头来进行人脸检测(jetson nano)
如何使用OpenCV库通过cv2模块读取视频和摄像头进行人脸检测,并提供了相应的代码示例。
398 1
|
7月前
|
算法 数据挖掘 数据安全/隐私保护
基于CS模型和CV模型的多目标协同滤波跟踪算法matlab仿真
本项目基于CS模型和CV模型的多目标协同滤波跟踪算法,旨在提高复杂场景下多个移动目标的跟踪精度和鲁棒性。通过融合目标间的关系和数据关联性,优化跟踪结果。程序在MATLAB2022A上运行,展示了真实轨迹与滤波轨迹的对比、位置及速度误差均值和均方误差等关键指标。核心代码包括对目标轨迹、速度及误差的详细绘图分析,验证了算法的有效性。该算法结合CS模型的初步聚类和CV模型的投票机制,增强了目标状态估计的准确性,尤其适用于遮挡、重叠和快速运动等复杂场景。
|
8月前
|
算法 数据安全/隐私保护
基于ADRC自抗扰算法的UAV飞行姿态控制系统simulink建模与仿真
本课题基于ADRC自抗扰算法,使用MATLAB2022a在Simulink中建模与仿真UAV飞行姿态控制系统,分别对偏航(Yaw)、俯仰(Pitch)和滚转(Roll)进行控制。ADRC通过扩展状态观测器(ESO)实时估计并抵消扰动,结合非线性反馈控制策略,减少了对精确模型的依赖,增强了系统的鲁棒性和适应性。仿真结果显示该方法能有效实现UAV的姿态控制,确保其在复杂环境中的稳定飞行和精确操控。
|
9月前
|
XML 机器学习/深度学习 人工智能
使用 OpenCV 和 Python 轻松实现人脸检测
本文介绍如何使用OpenCV和Python实现人脸检测。首先,确保安装了OpenCV库并加载预训练的Haar特征模型。接着,通过读取图像或视频帧,将其转换为灰度图并使用`detectMultiScale`方法进行人脸检测。检测到的人脸用矩形框标出并显示。优化方法包括调整参数、多尺度检测及使用更先进模型。人脸检测是计算机视觉的基础技术,具有广泛应用前景。
357 10
|
12月前
|
机器学习/深度学习 计算机视觉
目标检测笔记(六):如何结合特定区域进行目标检测(基于OpenCV的人脸检测实例)
本文介绍了如何使用OpenCV进行特定区域的目标检测,包括人脸检测实例,展示了两种实现方法和相应的代码。
338 1
目标检测笔记(六):如何结合特定区域进行目标检测(基于OpenCV的人脸检测实例)
|
12月前
|
算法 计算机视觉 Python
圆形检测算法-基于颜色和形状(opencv)
该代码实现了一个圆检测算法,用于识别视频中的红色、白色和蓝色圆形。通过将图像从RGB转换为HSV颜色空间,并设置对应颜色的阈值范围,提取出目标颜色的区域。接着对这些区域进行轮廓提取和面积筛选,使用霍夫圆变换检测圆形,并在原图上绘制检测结果。
398 0
|
机器学习/深度学习 传感器 算法
OpenCV4工业缺陷检测的六种方法
OpenCV4工业缺陷检测的六种方法
|
存储 编解码 算法
【Qt&OpenCV 检测图像中的线/圆/轮廓 HoughLinesP/HoughCircles/findContours&drawContours】
【Qt&OpenCV 检测图像中的线/圆/轮廓 HoughLinesP/HoughCircles/findContours&drawContours】
349 0
基于PID-bang-bang控制算法的卫星姿态控制matlab仿真
该文主要介绍了一个基于PID-bang-bang控制算法的卫星姿态控制系统。在MATLAB2022a中进行了仿真,生成了控制收敛曲线和姿态调整动画。系统通过PID控制器减少误差,结合Bang-Bang控制实现快速响应。核心程序涉及卫星位置、推力向量的计算及动画绘制。PID控制器利用比例、积分、微分项调整输出,Bang-Bang控制则在误差超出阈值时提供即时修正。两者结合以平衡控制精度和响应速度,适应卫星姿态的精确调节需求。

热门文章

最新文章