bvh-converter将bvh文件输出为csv文件失败,原因竟是numpy版本不匹配

最近做的东西需要将bvh数据处理成xyz坐标,在下面这篇文章找到了方法:

(57条消息) 人体动作捕捉格式BVH及其与三维坐标的转换_三维视频转bvh_零度蛋花粥的博客-CSDN博客

通过pip导入bvh-converter包,进行bvh数据转化,结果运行结果卡在Analyzing frames...,然后直接退出进程了,如图

bvh-converter将bvh文件输出为csv文件失败,原因竟是numpy版本不匹配_第1张图片

尝试更换要处理的bvh文件,重新安装bvh-converter包,结果都不行。

于是决定从导入的库入手,在导入的库中->main.py中找到了卡住的地方

bvh-converter将bvh文件输出为csv文件失败,原因竟是numpy版本不匹配_第2张图片

于是定位到bvhplayer_skeleton.py的process_bvhkeyframe

bvh-converter将bvh文件输出为csv文件失败,原因竟是numpy版本不匹配_第3张图片

该函数中使用pdb模块的set_trace方法设置一个断点,然后在项目终端继续调用

bvh-converter

进行调试,发现在下图位置处,程序异常退出

bvh-converter将bvh文件输出为csv文件失败,原因竟是numpy版本不匹配_第4张图片

dot是numpy库中计算矩阵乘法的方法,于是我单独写了一个文件用来测试dot方法

bvh-converter将bvh文件输出为csv文件失败,原因竟是numpy版本不匹配_第5张图片

代码没有问题,然而报出了错误信息

Process finished with exit code -1066598274 (0xC06D007E)

经过查阅后,发现是numpy版本不匹配的原因,很多回答是在和matplotlib共用的时候发现的问题,而我目前的虚拟环境下并没有安装matplotlib包,于是我推测可能是numpy版本和python版本不匹配,于是更新了numpy,问题随之解决,bvh文件转化为csv文件也成功了,随后我又安装了matplotlib,依然没有出现问题。

我的python版本为3.9,对应的numpy和matplotlib版本如下

bvh-converter将bvh文件输出为csv文件失败,原因竟是numpy版本不匹配_第6张图片

你可能感兴趣的:(python,numpy,matplotlib,pycharm)