opencv静态链接库有啥用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv静态链接库有啥用相关的知识,希望对你有一定的参考价值。

静态库包含了编译好的opencv函数,可以直接链接到你的程序里 参考技术A 封装了一些用户需要的函数等等,便于你调用。

opencv-python 库和 cv2 库有啥区别?

【中文标题】opencv-python 库和 cv2 库有啥区别?【英文标题】:What is the different between opencv-python library and cv2 library?opencv-python 库和 cv2 库有什么区别? 【发布时间】:2021-04-07 02:13:54 【问题描述】:

我正在尝试使用 openCV。通常,当我在桌面上运行命令面板时,我可以看到我的 openCV 版本:

但是当我无法导入我的项目时。通常,我从解释器添加 opencv-python 库,但我构建了 cv2 库,版本为 4.4.0 以使用 gpu。所以我在站点包中没有 opencv-python 库,但我在站点包中有 cv2 文件。不幸的是,我无法将其导入我的项目。如何使用这个名为 cv2.cp37-win_amd64.pyd 的 opencv 版本或文件?

我可以使用站点包中的所有其他库。但是当我无法添加 cv2 库时。这是从文件中读取的基本图像:

问题的有趣部分是,找不到所有 cv2 函数,但程序正在运行:D 我真的很困惑。

【问题讨论】:

【参考方案1】:

cv2 是 opencv-python 的模块导入名称,“用于 Python 的非官方预构建的仅 CPU 的 OpenCV 包”。传统的 OpenCV 有许多复杂的步骤,涉及从头开始构建模块,这是不必要的。我建议继续使用 opencv-python 库。

IDE 可能无法识别 cv2 命令,因为您在 32 位版本的 Python 上使用 64 位版本的 opencv-python,反之亦然。我相信这可以通过使用 pip uninstall opencv-python 卸载当前的 OpenCV 安装,然后按照链接教程使用正确的版本重新安装来解决。

来源/附加链接: 安装教程:https://www.youtube.com/watch?v=Z78zbnLlPUA

【讨论】:

“非官方的仅 CPU 版本的 OpenCV”毫无意义。 OpenCV 正式有 python 绑定。他们可以访问大部分可用功能,其中包括所有 GPU 支持。 python 包索引有一个“opencv-python”包,由不隶属于 OpenCV 的志愿者构建和维护。这对 python 绑定本身或 GPU 支持没有影响。该软件包功能齐全。 @ChristophRackwitz 我可能弄错了,但是 pypi 包 description 声明 opencv-python 是 CPU-only 触摸。我实际上并没有检查我正在运行的具有硬件支持的模块。 PyPI opencv-python 软件包不提供 GPU 支持,因为不是每个人都有支持 CUDA 的视频卡,因此会限制可以使用该软件包的人数。 OpenCV 的 GPU 支持目前仅处理 NVIDIA 卡。诚然,OpenCV 支持 OpenCL,但它非常有限,仍处于试验阶段。甚至不检查 PyPI 页面上的描述,仅使用 CPU 发布是有意义的。不管怎样,不错的链接 DapperDuck! 谢谢@rayryeng!

以上是关于opencv静态链接库有啥用的主要内容,如果未能解决你的问题,请参考以下文章

opencv静态链接库cmake链接顺序问题

动态链接库和静态链接库的区别

OpenCV静态库编译与链接

Makefile 链接静态库

配置使用OpenCV静态链接库

静态库,链接到共享库