vs2019配置opencv4.6.0+opencv_contrib4.6.0-程序员秘密

技术标签: c++  opencv  visual studio  

在我上一篇博客已经说明怎么安装opencv4.6.0,因为遇到要做图片融合用到surf,orb等特征提取的工具,所以在基础上又加装了opencv_contrib4.6.0。

vs2019配置opencv4.6.0_rain_1324的博客-程序员秘密

先去github上找到对应的opencv_contrib4.6.0下载。

https://github.com/opencv/opencv_contrib/releases/tag/4.6.0

然后解压。

其实之所以加装opencv_contrib是因为原来的opencv库里面没有相对应的图像处理的lib和dll(动态库),所以要在原来封好的opencv的lib库中添加新的库。这时候就需要cmake工具。

Download | CMake选择下面的msi文件下载。

先新建一个空文件夹,命名要有标志性,自己能够区分出来。

然后双击打开刚才下载的cmake,在source code里将原来下载的opencv的sources文件路径放上去(注意是原来已经装好的opencv文件夹中的sources文件夹)。在build the binaries加入刚刚新建的文件夹的路径。如图所示。接着点击configure。

因为我的vs版本是2019,所以选择2019,然后就可以下一步了。

会看到下面画面,找到相应的勾上(下面没显示的不用改),接着configure。

 

configure结束后出现下面画面,勾上下图红框中的选项

 

 

在下载好的opencv_contrib-4.6.0文件夹中找到modules路径添加上去。

点击generate

 

出现下面字样为成功,若又出现标红,则继续configure。

 

 打开vs,按照下图操作。

在生成中选择生成解决方案。等待完成

在解决方案里面,CMakeTargets–INSTALL–右键–仅用于项目–仅生成INSTALL

  接着修改前面设置的电脑环境path。直接在电脑搜索中搜索path打开环境变量。

添加路径:

E:\opencv\460\opencv\opencv_contrib_460build\install\x64\vc16\bin

(在之前新建的那个文件下install文件夹找到相应的bin文件夹添加就行)

接着配置新的属性表

 

 E:\opencv\460\opencv\opencv_contrib_460build\install\include
E:\opencv\460\opencv\opencv_contrib_460build\install\include\opencv2(切记需要根据自己的目录设置)

E:\opencv\460\opencv\opencv_contrib_460build\install\x64\vc16\lib (切记需要根据自己的目录设置)

到此配置完成。

后面我将测试surf功能。

参考:下面这篇博客非常详细,他配置的是4.4.0的版本

vs2019配置opencv+contrib-440 + PCL1.10.0 + 源码单步调试_诺有缸的高飞鸟的博客-程序员秘密_opencv_contrib

测试surf功能的博客可以看我下一篇博客:

vs2019+opencv_contrib4.6.0实现图像融合_rain_1324的博客-程序员秘密

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/rain_1324/article/details/125478636

智能推荐

Verilog 位拼接运算符{}语法要点总结_verilog {}_hanshuizhizi的博客-程序员秘密

Verilog 位拼接运算符语法要点总结Verilog位拼接运算符{}语法回顾要点总结Verilog位拼接运算符{}语法回顾 verilog中{}运算符用于“拼接”多个变量或者常量,基本用法如下:1、变量的拼接wire a[3:0], b[4:0];wire c[7:0];assign c = {a, b};2、变量与常量的拼接wire b[4:0];wire c[7:0];assign c = {3’d5, b};注意上面的常数5必须指明位宽,否则将出错。例如,不能试图通过下

source insight 设置窗口滑动条_source inght 文件滚动条_dragon_cdut的博客-程序员秘密

问题描述:source insight查看代码时,如果每一行的代码偏长,则不好查看代码,此时就需要横向滑动条;同理当代码行数多了,则需要纵向滑动条。解决:打开source insight,选择"Options"->"Preferences"->"Display"勾上Horizontal scroll bars 和Vertical scroll bars即可。注意:...

{“errcode“:43004,“errmsg“:“require subscribe rid: 5f9fccaf-2a50c937-3c01646a“}_小四是个程序员的博客-程序员秘密

在写微信统一服务通知的时候遇到这个问题,这是因为该openid没有关注公众号、或者没有在小程序里面给用户授权接收通知报错的,关注下公众号或者授权接收通知就好了。

Django Objects重写(重写管理器)_django 重写objects.get_linqunbin的博客-程序员秘密

models.py1 模型、属性、表、字段间的关系2 一个模型类在数据库中对应一张表,在模型类中定义的属性,对应该模型对照表中的一个字段3 注意:__init__方法已经在父类models.Model中使用,在自定义的模型中无法使用objects:1 是Manager(管理器)类型的一个对象,作用是与数据库进行交互2 当定义模型类没有指定管理器,则django为模型创建一个名为obje...

压缩感知中的数学知识:线性方程组的解_压缩感知怎么求解方程组_Steven_ycs的博客-程序员秘密

题目:压缩感知中的数学知识:线性方程组的解====================引言====================有关“线性方程组的解”这个问题实在是太基础的一个线性代数问题,本也不想去讨论它,但近几天看麻省理工GilbertStrang的线性代数公开课,有些感触,就写写吧,因为我确实也搞不清楚“线性方程组的解”这个问题,可能当年上学时知道,但现在的确已经忘的干干净净了,而且翻...

IDEA通过Tomcat启动项目到一半卡住(JDK6、tomcat7)_idea启动tomcat项目卡住_c&0xff00的博客-程序员秘密

如图,tomcat在一半卡住先说下我的尝试步骤:1.在file->Project Structure中把项目重新删除添加过,没效果2.下了个tomcat8.5尝试,没效果3.按网上说的注释tomcat bin目录下catlina.bat的JAVA_OPTS参数,没效果!!!最后有效果的方法是:在build的时候除了build,再增加build a...

随便推点

Idea远程调试+linux修改防火墙_weixin_34418883的博客-程序员秘密

为什么80%的码农都做不了架构师?>>> ...

LeetCode——用队列实现栈_ME!的博客-程序员秘密

LeetCode——用队列实现栈题目描述:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通队列的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。注意:你只能使用队列的基本操作 —— 也就是 push to back、peek

(2 of 2) A start job is running for network time synchronization (xx/s / xx)-程序员秘密

ubuntu18.04关机重启后一直是:(2 of 2) A start job is running for network time synchronization (xx/s / xx)可能是由于系统内核的问题。解决方法:1.进入advanced option forubuntu寻找可以正常启动的内核;2.将该内核设置为默认启动内核。参考:我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《Ubuntu更改默认启动内核》, 一起来围观吧 https://blog.c.

ROS安装Navigation:Could not find a package configuration file provided by ......_sensor_msgs安装_AI Chen的博客-程序员秘密

下载Navigation到本地进行编译,如下报错:– ==> add_subdirectory(navigation-noetic-devel/costmap_2d)– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy– Could NOT find tf2_sensor_msgs (missing: tf2_sensor_msgs_DIR)– Could not find the required c

如何避免操作系统中多线程资源竞争的互斥与同步?_CSDN 程序人生的博客-程序员秘密

作者 |小林coding来源 |小林coding(ID:CodingLin)前言先来看看虚构的小故事已经晚上 11 点了,程序员小明的双手还在键盘上飞舞着,眼神依然注视着的电脑屏幕。...

scrolling ="yes"_"scrolling=\"yes"_fancylovejava的博客-程序员秘密

如果把scrolling ="yes"的话,当然就可以动态随着内容的多少而改变了,这时会出现滚动条。但是如果iframe控件位于屏幕右边,如果网页的高度又很高的话,就会出现两个滚动条,一个是Iframe自已的,一个是屏幕的,这样很不友好!所以应该把iframe的滚动条去掉,如下scrolling ="no",但是这样做又会带来一个问题,多余的内容会被自动隐藏!这种问题的解决方案:如下在

推荐文章

热门文章

相关标签