gpt4 book ai didi

python - 为什么 opencv3 需要 libavcodec56 而 opencv2 需要 libavcodec57

转载 作者:行者123 更新时间:2023-12-04 23:14:40 27 4
gpt4 key购买 nike

我已经使用 apt-get 安装了 opencv。我得到了以下版本的opencv2,它工作正常:

rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ python2.7
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'2.4.9.1'

然后我想使用 pip 在 conda 环境中安装 opencv。我得到了以下版本
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ pip list | grep opencv
opencv-python 3.4.0.14

但是,导入模块时出现以下错误:
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ python
Python 3.4.3 |Continuum Analytics, Inc.| (default, Aug 21 2015, 00:53:08)
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/pi/.conda/envs/olfatf/lib/python3.4/site-packages/cv2/__init__.py", line 3, in <module>
from .cv2 import *
ImportError: libavformat.so.56: cannot open shared object file: No such file or directory

我检查了安装 libavcodec 库,我得到了版本 57。
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ ls | grep libavformat
libavformat.a
libavformat.so
libavformat.so.57
libavformat.so.57.56.101

所以我想知道为什么更高版本的opencv需要旧版本的libavcodec。另外,如何在我的机器上同时安装 libavcodec56 和 libavcodec57 ?

我使用带有 Raspbian Strech 的树莓派

最佳答案

并不是opencv需要它,而是编译您正在使用的opencv二进制文件的人针对libavcodec56编译了它。最简单的解决方法是自己编译。

Also, how can I installed both libavcodec56 and libavcodec57 on my machine ?



不。只需编译并链接到相同的版本。

关于python - 为什么 opencv3 需要 libavcodec56 而 opencv2 需要 libavcodec57,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50786055/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com