【问题标题】:Build and install OpenCV with python module使用 python 模块构建和安装 OpenCV
【发布时间】:2021-06-06 02:42:50
【问题描述】:

我克隆了opencvopencv-contrib GitHub 并使用cuda 构建和安装。以下是使用的 python 标志。

在 opencv 构建中,我可以看到 cv2 模块和 python 示例。

s1n7ax@s1n7ax:~/workspace/opencv/build$ tree python_loader samples

python_loader
├── cv2
│   ├── config.py
│   ├── _extra_py_code
│   │   └── __init__.py
│   ├── __init__.py
│   ├── load_config_py2.py
│   └── load_config_py3.py
└── setup.py
samples
...
├── python
│   ├── CMakeFiles
│   │   ├── CMakeDirectoryInformation.cmake
│   │   └── progress.marks
│   ├── cmake_install.cmake
│   ├── CTestTestfile.cmake
│   └── Makefile
...

安装时,它会记录以下消息。

sudo make install

-- OpenCV Python: during development append to PYTHONPATH: /home/s1n7ax/workspace/opencv/build/python_loader

安装完成后,我添加了python的路径并运行。


export PYTHONPATH=/home/s1n7ax/workspace/opencv/build/python_loader && python3

但是,我无法正确导入 cv2 模块。

Python 3.8.5 (default, May 27 2021, 13:30:53) 
[GCC 9.3.0] 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/s1n7ax/workspace/opencv/build/python_loader/cv2/__init__.py", line 117, in <module>
    bootstrap()
  File "/home/s1n7ax/workspace/opencv/build/python_loader/cv2/__init__.py", line 73, in bootstrap
    load_first_config([
  File "/home/s1n7ax/workspace/opencv/build/python_loader/cv2/__init__.py", line 70, in load_first_config
    raise ImportError('OpenCV loader: missing configuration file: {}. Check OpenCV installation.'.format(fnames))
ImportError: OpenCV loader: missing configuration file: ['config-3.8.py', 'config-3.py']. Check OpenCV installation.

如何解决这个问题?

【问题讨论】:

  • 你可以尝试``` pip3 install --upgrade opencv-python``` 和pip3 install --upgrade pyinstaller 在cmake中,检查你的python3路径

标签: python python-3.x opencv


【解决方案1】:

经过几次尝试,我意识到需要填写以下标志。

PYTHON3_EXECUTABLE=/usr/bin/python3
PYTHON3_INCLUDE_DIR=/usr/include/python3.8
PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so
PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.8/dist-packades/numpy/core/include
PYTHON3_PACKAGES_PATH=/usr/local/lib/python3.8/dist-packades

为了找到这些路径,我使用了find 命令。

我创建了一个Youtube video,这样我以后就不会忘记这些了

【讨论】:

    猜你喜欢
    • 2021-03-31
    • 1970-01-01
    • 2015-10-21
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多