opencv-python 库和 cv2 库有啥区别?
Posted
技术标签:
【中文标题】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 触摸。我实际上并没有检查我正在运行的具有硬件支持的模块。 PyPIopencv-python
软件包不提供 GPU 支持,因为不是每个人都有支持 CUDA 的视频卡,因此会限制可以使用该软件包的人数。 OpenCV 的 GPU 支持目前仅处理 NVIDIA 卡。诚然,OpenCV 支持 OpenCL,但它非常有限,仍处于试验阶段。甚至不检查 PyPI 页面上的描述,仅使用 CPU 发布是有意义的。不管怎样,不错的链接 DapperDuck!
谢谢@rayryeng!以上是关于opencv-python 库和 cv2 库有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章