3

我已经从https://pypi.org/project/opencv-contrib-python/4.4.0.46/#files下载了文件opencv_contrib_python-4.4.0.46-cp38-cp38-manylinux2014_x86_64.whl

我打开 whl 文件,发现它包含一个名为opencv_contrib_python.libs的文件夹,其中包含以下文件:

在此处输入图像描述

我正在寻找这些 so 文件的源代码,所以我从上面的同一链接下载源代码opencv-contrib-python-4.4.0.46.tar.gz并提取它,但我没有看到任何源代码文件,例如libavformat-06a336f2.so.58.61.100

然后,我使用 cmake 标志 OPENCV_EXTRA_MODULES_PATH 构建了 opencv contrib 项目代码,如下所示:

cmake ../opencv-contrib-python-4.4.0.46/opencv/ -D OPENCV_EXTRA_MODULES_PATH=../opencv-contrib-python-4.4.0.46/opencv_contrib/modules/

但我没有看到任何这些文件正在构建。

我如何获得这些模块的源代码?我需要修改其中之一,并且需要确保我已将其构建并与 OpenCV 正确链接。

4

2 回答 2

2

创建的库取决于您正在构建代码的平台,它应该具有所有必需的库和工具(如 gcc、python 包括等)。您提到的库是 ffmpeg、qt、x11 的一部分,它们是屏幕捕获和视频创建器/转换器的一部分。Opencv 的功能依赖于它们。最近我在 sles 平台上从源代码构建了 ffmpeg 并成功创建了这些库。如果您可以在 make install 之前 ping 我使用 cmake 构建 opencv 的日志,我可以告诉您更多有关您的问题的信息。

于 2021-10-11T19:34:34.477 回答
0

尝试使用命令从https://github.com/opencv/opencv_contrib构建源代码

cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../../opencv-contrib-python-4.4.0.46/opencv 然后做 :- make -j5

同时下载 python 源并将其 include(Python-3.6.13/Include/) 设置为 $PYTHON_INCLUDE_DIRS。根据需要设置其他 cmake 指令。欲了解更多信息检查链接

于 2021-10-13T12:27:50.600 回答