Почему opencv3 требует libavcodec56, хотя opencv2 требует libavcodec57 - PullRequest
0 голосов
/ 10 июня 2018

Я установил opencv с помощью apt-get.Я получил 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'

Затем я хотел установить opencv в среде conda, используя pip.Я получил следующую версию

(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 с Raspbian Strech

1 Ответ

0 голосов
/ 11 июня 2018

Это не то, что opencv требует этого, это то, что тот, кто скомпилировал бинарный файл opencv, который вы используете, скомпилировал его с libavcodec56.Самый простой способ - это скомпилировать его самостоятельно.

Кроме того, как я могу установить libavcodec56 и libavcodec57 на мою машину?

Не надо.просто скомпилируйте и создайте ссылку на одну и ту же версию.

...