前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV的扩展包opencv_contrib的安装

OpenCV的扩展包opencv_contrib的安装

作者头像
mythsman
发布2022-11-14 14:57:30
8230
发布2022-11-14 14:57:30
举报
文章被收录于专栏:mythsman的个人博客

近日想使用OpenCV里面的诸如SIFT、SURF之类的特征提取算法,结果突然发现OpenCV3.0.0这里并没有书上讲的关于SIFT的函数。查了半天才知道,原来有大量的函数并不在OpenCV的稳定发布版本里,而是在OpenCV_contrib这个扩展包里面。搞了半天才把这玩意搞定(自己傻),下面记录下安装的过程,方便日后的安装。

下载

opencv_contrib包独立于opencv的主体,发布在他的github上。直接在这里下载适合的版本即可。

安装

这个玩意的安装其实不难,照着解压下来的README操作就行了,只是要重新下载编译opencv,过程跟OpenCV安装方法差不多,只是要在cmake的配置中加上-D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib/modules/> 参数,(其中<path to opencv_contrib>是opencv_contrib的解压地址)

需要注意的是一定要加上-D BUILD_PYTHON_SUPPORT=ON 选项才能有python接口。如果是直接复制cv2.so文件到python的路径的话则会报“AttributeError: 'module' object has no attribute 'SIFT'”之类的错误。

README的解读

他这里的README很有意思,不仅介绍了他的安装方法,而且也介绍了为什么我们会把很多比较厉害的模块(比如SIFT,SURF等)单独放在一个地方,而不把他融入OpenCV的主体程序:

代码语言:javascript
复制
This repository is intended for development of so-called "extra" modules,
contributed functionality. New modules quite often do not have stable API,
and they are not well-tested. Thus, they shouldn't be released as a part of
official OpenCV distribution, since the library maintains binary compatibility,
and tries to provide decent performance and stability.

So, all the new modules should be developed separately, and published in the
`opencv_contrib` repository at first. Later, when the module matures and gains
popularity, it is moved to the central OpenCV repository, and the development team
provides production quality support for this module.

原来是因为这些模块的困难度比较大,而且使用的时候效果不太稳定,而发布版本(Release)则需要稳定性和可靠性;同时,这些模块的使用程度比较低,大多数的开发人员用不到这些包;况且这些模块是独立于主程序开发的,因此也就应当把他们跟主程序分开。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载
  • 安装
  • README的解读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档