我查看了Python包索引(PyPi(,注意到两个非常相似的包:opencv-contrib-Python和opencv-Python,想知道有什么区别。我看了看,它们的描述和版本号完全相同。
根据PyPi文档:
有四种不同的包装(见下面的选项1、2、3和4(:
适用于标准桌面环境的软件包:
选项1-主要模块包:
pip install opencv-python
选项2-完整包(包含主模块和contrib/额外模块(:
pip install opencv-contrib-python
(检查contrib/extra模块列表来自OpenCV文档(
用于服务器(无头(环境的包:
选项3-无头主模块包:
pip install opencv-python-headless
选项4-无头全套(包含主模块和contrib/额外模块(:
pip install opencv-contrib-python-headless
不要在同一环境中安装多个不同的软件包
opencv-python提供opencv的核心功能,包括基本的图像和视频处理功能。它包含图像和视频I/O、图像处理、对象检测、特征提取和基本计算机视觉任务所需的主要模块。该软件包适用于大多数通用计算机视觉任务,通常用作基本图像处理和分析的基础软件包。
opencv-contrib python=opencv-python+extra
标准opencv-python包中没有几个附加功能,比如SIFT算法。因此,如果你需要大量研究图像和计算机视觉,并且没有硬件限制,那么一定要安装opencv-controb-python。
Opencv每个版本都有两个汇编;常规的";一个功能强大且经过良好测试的组件,以及在他们放置的github页面中使用额外组件(contribs包(进行编译:
此存储库旨在开发所谓的";额外的";模块,贡献的功能。新模块通常没有稳定的API,而且它们没有经过很好的测试。因此,它们不应该作为官方OpenCV发行版的一部分发布,因为库保持二进制兼容性,并试图提供良好的性能和稳定性。
还有一些非免费的计算机视觉算法(用于功能(,如SURF、BRIEF、Censure、Freak、LUCID、Daisy、BEBLID、TEBLID。