TX运行yolov5报错:ModuleNotFoundError: No module named ‘cv2‘

TX2上自带opencv4.1.1,运行detect.py报错

 python3 detect.py --source data/images/ --weights yolov5s.pt
Traceback (most recent call last):
  File "detect.py", line 5, in 
    import cv2
ModuleNotFoundError: No module named 'cv2'

方法1:aujqsuwgbd

将 opencv-4.1.0/build/lib/python3/ 目录下的 cv2.cpython-36m-aarch64-linux-gnu.so 复制到 /usr/local/lib/python3.6/dist-packages 

sudo cp cv2.cpython-36m-aarch64-linux-gnu.so /usr/local/lib/python3.6/dist-packages

结果发现目标目录已存在该文件。

方法2:fangfa2

python的module搜索路径,其实是编译python的时候就有相关的默认配置的。例如:

python -m sysconfig

查看相应搜索路径

但是我们执行如下命令看真实的搜索路径

python

import sys;print(sys.path)

就会发现与上面路径不同

以为是由于之前为了安装pytorch安装了archiconda,archiconda中安装了python3.7.1,之后系统调用python就直接是3.7.1,所以路径不对

然后更改默认调用python版本为TX2自带版本python3.6.9

结果依旧不行。。。。。

方法3:由于缺少opencv_contrib,教程见下面链接

fangfa3

借鉴很多教程发现TX2自带的opencv缺少好多包,到cmake那一步卡住了。。。

CUDA: OpenCV requires enabled ‘cudev‘ module from ‘opencv_contrib‘

解决:将opencv_contrib中的modules中的cudev文件夹复制到opencv/modules里

再cmake便正常了,之后make也没再出错,重新source之后

验证是否安装成功:打开python输入import cv2,依旧显示没有cv2,无语

最后决定,重装opencv

在archiconda中创建个环境直接conda install opencv就能自动安装了,很顺利

你可能感兴趣的:(python,深度学习,opencv)