遇到opencv导入问题

时间:2018-09-28 03:24:39

标签: python opencv

我在使用opencv时遇到麻烦。

环境:python3.6.1,linux(HPC服务器),opevcv3.4.3.18

错误描述:我正在使用命令Requirement already satisfied: opencv-python in /home/users/czxu/.local/lib/python3.6/site-packages (3.4.3.18)成功安装(import cv2)后尝试导入cv2,但是似乎缺少文件夹或脚本:

Traceback (most recent call last):
  File "scripts/preprocessing/gen_mini_batches.py", line 4, in <module>
    from avod.builders.dataset_builder import DatasetBuilder
  File "/home/users/czxu/avod/avod/builders/dataset_builder.py", line 6, in <module>
    from avod.datasets.kitti.kitti_dataset import KittiDataset
  File "/home/users/czxu/avod/avod/datasets/kitti/kitti_dataset.py", line 11, in <module>
    from wavedata.wavedata.tools.core import calib_utils
  File "/home/users/czxu/avod/wavedata/wavedata/tools/core/calib_utils.py", line 3, in <module>
    import cv2
  File "/home/users/czxu/.local/lib/python3.6/site-packages/cv2/__init__.py", line 3, in <module>
    from .cv2 import *
ImportError: libXrender.so.1: cannot open shared object file: No such file or directory
srun: error: sh-06-20: task 0: Exited with exit code 1

我去了文件夹/home/users/czxu/.local/lib/python3.6/site-packages/cv2/

czxu@cv2$cd /home/users/czxu/.local/lib/python3.6/site-packages/cv2
czxu@cv2$ls -a
.  ..  cv2.cpython-36m-x86_64-linux-gnu.so  data  __init__.py  .libs  LICENSE-3RD-PARTY.txt  LICENSE.txt  __pycache__

您对此有任何想法吗?真诚地感谢您的回答和讨论。感谢大伙们!

2 个答案:

答案 0 :(得分:7)

有相同的问题(Python 3.6.6,opencv 3.4.3.18,Ubuntu 18.04)。我通过安装libXrender来修复它:

IEnumerator Use_VehicleBoost(){
...
while (Player.boost >= 3)
{
     yield return null;
}
...
}

这已记录在here中。安装后,我可以sudo apt-get install libxrender1

答案 1 :(得分:1)

yum -y install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false
yum -y install libXext-1.3.3-3.el7.x86_64 --setopt=protected_multilib=false