docker openpose 处理图片手部关键点命令

  1. 查看容器
docker ps -a

在这里插入图片描述

  1. 创建容器
docker run --runtime=nvidia -itd -v /宿主机映射目录/:/docker映射目录/ openpose:gpu bash
  1. 进入容器
docker exec -it id名 /bin/bash

在这里插入图片描述
4. 执行openpose.bin 只能在openpose的根目录执行命令,也就是相对路径不变动。
–hand 检测手部关键点
-display 0表示不展示。
–image_dir或者–video 接读取路径。
–write_images或者–write_video接保存路径,其中 目录文件夹必须是存在的,视频路径还要以.avi结尾。同理,保存keypoint的文件夹也要先创建好。
想保存json格式就把–write_keypoint改为–write_json。

./build/examples/openpose/openpose.bin --image_dir 图片所在文件夹path/ --write_images 保存文件夹path/  -display 0 --hand --write_keypoint “默认.yml格式的文件path/

在这里插入图片描述

### 如何在C#中使用OpenPose 为了实现在C#环境中利用OpenPose进行人体姿态估计,可以采用通过中间库或API接口的方式间接调用OpenPose的功能。一种常见方法是借助Python作为桥梁来运行OpenPose模型并与其交互[^2]。 另一种方式涉及编译带有C++ API支持的OpenPose版本,并创建绑定以便能够在.NET应用程序内访问这些功能。这通常需要更深入的知识和技术栈集成能力。对于希望快速实现目标而处理底层细节的人来说,可能是最理想的解决方案[^3]。 考虑到互操作性和开发效率,在C#项目里可以通过Docker容器化部署已配置好的OpenPose环境,再经由HTTP请求或其他形式的消息传递机制交换数据也是一种可行的选择。这种方式能够有效隔离复杂依赖关系的同时保持灵活性[^1]。 #### 使用Python桥接法实例 如果选择基于Python的方法,则可以在C#端发起进程启动命令执行预设脚本,该脚本负责加载训练完毕的手部关键点检测网络并对输入图像做出响应: ```csharp using System.Diagnostics; // 启动 Python 脚本以获取手部姿势预测结果 ProcessStartInfo start = new ProcessStartInfo(); start.FileName = "python"; // 或者 python.exe 的具体路径 start.Arguments = $"detect_hand_pose.py {inputImagePath}"; start.RedirectStandardOutput = true; start.UseShellExecute = false; start.CreateNoWindow = true; using(Process process = Process.Start(start)) { using(StreamReader reader = process.StandardOutput) { string result = reader.ReadToEnd(); // 处理返回的结果字符串 } } ``` 上述代码片段展示了怎样从托管代码层面上触发外部可执行文件(这里是Python解释器),进而完成特定任务——即对手势图片实施分析工作流的一部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值