【环境配置】matplotlib与pillow配置的兼容问题

作者遇到在Anaconda环境中使用matplotlib绘图的问题,通过卸载相关包、调整Pillow和Matplotlib版本,以及发现torchvision引入的新Pillow版本导致的错误。最终通过`python-mpipinstallPillow`解决了冲突,同时存在conda和pip安装的Pillow版本并行问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近要用 matplotlib 画图,出现了下面这个问题:

请添加图片描述

我使用的是anaconda虚拟环境,目前这个环境是从初学时就开始使用,各种包非常混乱,我用 conda 和 pip uninstall 了所有和 qt 相关的包(PyQt5,Pyside2,Pyside6),然后查看了一下另外一个可以画图的虚拟环境,查看了其中的 pillow 和 matplotlib 的版本(这两个包的版本似乎需要匹配,但目前网络上不太容易查到),卸载了目前环境里的pillow和matplotlib,然后重新安装:

pip install Pillow==9.4.0
pip install matplotlib==3.7.1

然后可以画图了:
在这里插入图片描述

因为我在这个环境里需要使用 pytorch,前面卸载pillow时,把我的torchvision也卸载掉了,在我根据依赖关系(torch 1.10.2 → torchvision 0.11.3 → pillow 10.0.1)重新安装torchvision 0.11.3,后 torchvision 又给我装了一个新版本的 pillow,导致又画不了图了:

  File "D:\Anaconda3\envs\pytorch\lib\site-packages\PIL\Image.py", line 82, in <module>
    from . import _imaging as core
ImportError: DLL load failed while importing _imaging: 找不到指定的模块。

最后根据这篇博文

python -m pip install Pillow

问题解决。

现在我的环境里有 pip 安装的 matplotlib 和 pillow,以及 conda 安装的另一个版本的 pillow,没再出现过问题:
在这里插入图片描述
在这里插入图片描述

YoloposeOpenpose都是计算机视觉领域的姿态估计算法,它们的主要区别在于算法的设计实现。 首先,Openpose是一种基于卷积神经网络(CNN)的姿态估计算法。它通过使用CNN来检测人体关键点,即身体的主要关节,如头部、肩膀、手肘、膝盖等。Openpose的算法基于残差网络(ResNet)自顶向下的递归算法,能够在复杂背景下准确地检测到人体关键点,并给出相应的姿态。 相比之下,Yolopose采用了一种不同的策略来实现姿态估计。它主要基于目标检测算法Yolov3,该算法能够在图像中准确地定位分类多个目标。Yolopose通过使用Yolov3来检测人体区域,并使用CNN模型来进一步预测关键点的位置。这种方法在速度上相对较快,因为它直接利用目标检测的结果来进行姿态估计,而不需要额外的阶段。 此外,YoloposeOpenpose在训练数据集模型的精度方面也存在差异。Yolopose使用了MSCOCO数据集进行训练,该数据集包含了大量的包括人体关键点标注在内的图像。而Openpose使用了多个数据集进行训练,包括MPIICOCO等数据集。因此,Openpose的模型在精度上可能更高一些。 总体而言,YoloposeOpenpose在姿态估计算法的设计实现上有所不同。Yolopose通过结合目标检测关键点预测来实现姿态估计,速度较快,而Openpose采用了自顶向下的递归算法,对复杂背景下的姿态估计更为准确。使用哪种算法取决于具体应用场景的需求,如实时性准确性的权衡。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值