首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【从零学习OpenCV 4】opencv_contrib扩展模块的安装

然而有很多非常实用的功能并没有被集成在基础模块中,而是被放在了opencv_contrib扩展模块中,例如人脸识别、生物视觉、特征点提取等众多非常强大的功能。...扩展模块是对基础功能的补充,由于某些算法具有专利保护,无法放在基础模块中,而这部分算法却是学习图像处理常用的算法,例如,大名鼎鼎的有专利保护的SIFT特征点提取算法就在这个扩展模块中,虽然有专利,但是使用...本小节将为读者介绍如何在Windows和Ubuntu系统中安装opencv_contrib扩展模块。...01 Windows系统中安装扩展模块 在Windows系统中安装opencv_contrib扩展模块需要用到CMake编译器,在CMake官网下载.msi安装包,通过双击直接完成安装任务。...02 Ubuntu系统中安装扩展模块 在Ubuntu系统中安装扩展模块比较容易,只需要将代码清单1-6中的cmake命令进行修改,添加上扩展安装包的路径即可,具体内容在代码清单1-11中给出,其余步骤与安装

1.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

Windows下编译OpenCV3.4及扩展模块

一:下载与安装 OpenCV下载 https://www.opencv.org/opencv-3-4.html OpenCV扩展模块下载 https://github.com/opencv/opencv_contrib.../releases/tag/3.4.0 CMake下载 https://cmake.org/files/v3.7/ 下载好OpenCV及其扩展模块并解压缩到指定盘符,这里cmake使用cmake3.7,...VS2015,cmake版本太高可能会有问题,所以我最终的环境如下: cmake3.7 VS2015专业版 Win7 64位 二:CMake编译 安装好CMake与VS2015之后,就可以打开CMake,设置好OpenCV3.4...在红色编辑区域找到《OPENCVEXTRAMODULES_PATH》配置OpenCV扩展模块路径,然后再次点击【Configure】显示如下: ? 再次点击【Generate】运行结束: ?...三:VS2015生成Installer 然后到build生成目录,找到OpenCV.sln文件,双击在VS2015中打开找到-CMakeTargets->INSTALL右键在弹出的菜单中选择生成即可 ?

95610

最新 | OpenCV4.8 + CUDA + 扩展模块支持编译指南

CUDA11.3 OpenCV4.8源码包 https://github.com/opencv/opencv/releases/tag/4.8.0 OpenCV4.8 扩展模块源码包 https://...github.com/opencv/opencv_contrib/releases/tag/4.8.0 把OpenCV4.8与OpenCV4.8扩展包都解压缩到D盘,目录分别如下: D:\opencv-...然后设置扩展模块路径 设置完成以后,搜索CUDA关键字,全部勾上相关选项之后继续点击【Configrure】,运行完成以后,再次搜索CUDA关键字,选择如下: 点击【Generate】,生成如下: 从newbuild...技巧提示: 1.无法下载第三方文件,请手动下载以后放到source/.cache文件夹内相关位置即可。...2.无需编译XFeature2D、FaceModel、Test等模块,统统取消勾选(默认是勾选的) 配置运行测试 重新配置好OpenCV + CUDA的支持,修改包含目录、库目录、链接器,然后设置好新的环境变量路径

40710

Windows 下使用 CMake + Visual Studio 2022 编译 OpenCV 4.8.1 及其扩展模块

4.8.1 源码包 https://github.com/opencv/opencv/releases/tag/4.8.1 OpenCV 4.8.1 扩展模块源码包 https://github.com...编译 3.1 使用 CMake 3.1.1 准备工作 解压 OpenCV4.8.1 源码包和扩展模块源码包到某个位置 打开 cmake-gui,设置 OpenCV4.8.1 源码的位置和输出编译的二进制文件的位置..."Configure"配置成功后,会出现这个界面 此时,我们可以设置扩展模块的路径 扩展模块的路径在设置时,一定要到 modules 这个文件夹,否则后面再次"Configure"会失败。...cmake 的下载日志.jpg 某些文件的无法下载可能会最终导致 OpenCV World 模块无法编译成功。 我主要是修改这几个地方: a....我们完成了OpenCV4.8.1 及其扩展模块的编译。

21010

OpenCV扩展opencv_contrib的安装

近日想使用OpenCV里面的诸如SIFT、SURF之类的特征提取算法,结果突然发现OpenCV3.0.0这里并没有书上讲的关于SIFT的函数。...查了半天才知道,原来有大量的函数并不在OpenCV的稳定发布版本里,而是在OpenCV_contrib这个扩展包里面。搞了半天才把这玩意搞定(自己傻),下面记录下安装的过程,方便日后的安装。...下载 opencv_contrib包独立于opencv的主体,发布在他的github上。直接在这里下载适合的版本即可。...README的解读 他这里的README很有意思,不仅介绍了他的安装方法,而且也介绍了为什么我们会把很多比较厉害的模块(比如SIFT,SURF等)单独放在一个地方,而不把他融入OpenCV的主体程序:...原来是因为这些模块的困难度比较大,而且使用的时候效果不太稳定,而发布版本(Release)则需要稳定性和可靠性;同时,这些模块的使用程度比较低,大多数的开发人员用不到这些包;况且这些模块是独立于主程序开发的

76320

一次搞定OpenCV源码及扩展模块的编译与环境配置

2、安装OpenCV,建议将扩展模块部分也一起下载。 ①需要登陆opencv官方github网站戳这里,打开页面点击上方releases ?...⑤进入后选择与自己的opencv源码版本一致的opencv扩展模块点击zip下载压缩包 ?...点开文件夹的样子如下,其中modules中存放着opencv中的扩展模块: ? 到此为止,我们的opencv及其扩展模块就安装完成了。...第二步:编译OpenCV中的扩展模块 使用编译工具CMake,其界面如下所示: ?...4、添加扩展模块路径 在上方勾选框中找到如下所示的模块路径,将扩展模块中的modules路径添加进去,将其上方的OPENCV_ENABLE_NONFREE勾选上,将world选项也勾选上,其余的可以先不动

1.6K10

使用模式构建:扩展引用模式

还有一些模式,例如子集模式,会引用额外的集合,并依赖JOIN操作将每个数据块重新组合在一起。如果需要大量的JOIN操作来聚集那些需要频繁访问的数据,这时要怎么办呢?...这就是我们可以使用扩展引用模式的地方。 扩展引用模式 有时将数据放置在一个单独的集合中是有道理的。如果一个实体可以被认为是一个单独的“事物”,那么使其拥有单独的集合通常是有意义的。...扩展引用模式提供了一种很好的方法来处理这类情况。我们只复制经常访问的字段,而不是复制全部的客户信息。...可能不会,因此我们可以将该数据从invoice集合中删除,并添加一个custormer集合的引用。 当信息被更新时,我们同样需要考虑如何处理。哪些扩展引用发生了更改?应该什么时候进行更新?...在invoice集合中,我们会保留有关供应商的必要信息,作为对供应商信息的扩展引用。 结论 当应用程序中有许多重复的JOIN操作时,扩展引用模式是一个很好的解决方案。

63570

Nginx Lua扩展模块

# Nginx Lua扩展模块 ngx_lua模块概念 ngx_lua模块环境准备 方式一 方式二 OpenResty卸载 ngx_lua指令图 语法API ngx.say ngx.print ngx.flush...用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。所以本身 OpenResty 内部就已经集成了 Nginx 和 Lua,所以我们使用起来会更加方便。...这是一个公共模块,把所有都用到的代码放到这个模块里,避免重复使用相同的代码。 比如每个模块都需要 MySQL 和 Redis,则在这个公共模块进行引用。...如果不喜欢直接写 Lua 语法,把 Lua 语法 放到 Lua 文件里,使用 set_by_lua_file 引用 Lua 文件。...如果不喜欢直接写 Lua 语法,把 Lua 语法 放到 Lua 文件里,使用 access_by_lua_file 引用 Lua 文件。

3.3K20

模块引用方式利弊辨析: 全局绝对引用(alias) && 长相对引用

/util’)这种方式,去做引用。...弊 无法利用VScode默认自带功能实现点击跳转,比如我们看代码时候经常需要点击一个require的链接,然后实现跳转,但是使用这种alias的时候不能实现自动跳转 无法利用VScode默认自带的路径导入功能...你敲出方法名的时候,会逐个字母筛选并显示提示,同时选择对应方法的时候,文件上方会自动引入那个模块的相对路径。...我们团队不可能大家都用VScode, 而且本来VScode就不一定有这种插件,而其他IDE的社区就更差了,我认为能通过插件达到效果的希望不大 就算真的有这些插件,使用起来似乎也不太方便,VScode的扩展插件的代码是不能上传到...我们之间团队的协调还不能做到完全一致,可能新人进来没人引导他下载这些VScode插件 好吧,就算前2种都没问题,但其实还是有问题,因为我们没办法完全禁掉相对路径引用,所以结果就是相对引用和绝对引用并存的状态

70510

python模块循环引用导致问题

现在终于知道了是因为循环引用的问题。...import run ImportError: cannot import name 'run' 解决办法 找到了很多解决办法 移动import的位置(中策) 将impot放到后面去,放到最后,至少是不依赖这个模块的代码后面...限制import的作用域(下策) 这个和上面差不多,只不过是移动到函数里,限制它的作用域,同时也避免了在import阶段被执行到 直接用import来引用(中策-绝对有效) 将 from a import...b 改成 import a.b ,据说就不会有问题了, 设计构架,避免循环引用(上策) 没啥说的,就是要避免这种情况。...对现有的模块就行拆分或者是合并,保证模块尽量独立。 所有的模块最后都有一个层级,不要引用你同级或者高级的模块。 具体怎么做构架还需要日后慢慢总结。

67320
领券