javacv跟opencv有啥区别

Posted

tags:

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

javacv的功能远远大于opencv,opencv只能用于处理图像,而javacv不仅包含opencv全套api,还支持ffmpeg音视频编解码,tensflow、caffe等深度学习库,tessrac ocr等字符识别,矩阵计算库。
这样讲好了,opencv只是javacv中的一个小模块
参考技术A JavaCV和OpenCV的性能比较
大多数时候两者性能相差不大,某些OpenCV函数能够并行化处理而JavaCV不行,但是JavaCV还绑定了很多其他的图像处理库,功能也足够强大。本回答被提问者采纳

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!

以上是关于javacv跟opencv有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

java opencv和javacv的区别

javacv要安装opencv么

ros和opencv有啥区别

OpenCV(JavaCV)与 OpenCV(C/C++ 接口)

OpenCV、JavaCV 某些学科的随机预测结果

javaCV入门指南:序章