详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0

一、软件需求

VS2019社区版、win10操作系统、opencv4.1.0、opencv_contrib_4.1.0、cmake3.15.3

VS2019社区版(免费) 下载地址
OpenCV4.1.0 下载地址
OpenCV_contrib_4.1.0 下载地址
CMAKE 下载地址

二、CMAKE编译

在 D:\opencv_4.1.0 目录下创建个newbuild文件夹

进入cmake,配置OpenCV_4.1.0

配置OpenCV_contrib_4.1.0

注意:第2步操作时后面的路径不要手打

三、VS2019编译

进入 D:\opencv_4.1.0\newbuild 目录 找到 OpenCV.sln 双击

四、系统环境变量配置

右键电脑-属性 -> 高级系统设置 ->环境变量 -> 系统变量 -> path

点击新建 填入 D:\opencv_4.1.0\newbuild\install\x64\vc16\bin

五、VS2019环境变量配置

  1. 打开vs2019,新建一个空项目,打开属性管理器(视图-属性管理器\视图-其他-属性管理器)
  2. 双击 Microsoft.Cpp.x64.user

配置包含目录(通用属性-VC++目录-包含目录),库目录(通用属性-VC++目录-库目录)

在包含目录中添加

D:\opencv_4.1.0\newbuild\install\include

D:\opencv_4.1.0\newbuild\install\include\opencv2

库目录中添加

D:\opencv_4.1.0\newbuild\install\x64\vc16\lib

配置附加依赖项(链接器-输入-附加依赖项)

获取链接器的方法

opencv_world410d.lib
opencv_aruco410d.lib
opencv_bgsegm410d.lib
opencv_bioinspired410d.lib
opencv_calib3d410d.lib
opencv_ccalib410d.lib
opencv_core410d.lib
opencv_datasets410d.lib
opencv_dnn410d.lib
opencv_dnn_objdetect410d.lib
opencv_dpm410d.lib
opencv_face410d.lib
opencv_features2d410d.lib
opencv_flann410d.lib
opencv_fuzzy410d.lib
opencv_gapi410d.lib
opencv_hfs410d.lib
opencv_highgui410d.lib
opencv_imgcodecs410d.lib
opencv_imgproc410d.lib
opencv_img_hash410d.lib
opencv_line_descriptor410d.lib
opencv_ml410d.lib
opencv_objdetect410d.lib
opencv_optflow410d.lib
opencv_phase_unwrapping410d.lib
opencv_photo410d.lib
opencv_plot410d.lib
opencv_quality410d.lib
opencv_reg410d.lib
opencv_rgbd410d.lib
opencv_saliency410d.lib
opencv_shape410d.lib
opencv_stereo410d.lib
opencv_structured_light410d.lib
opencv_superres410d.lib
opencv_surface_matching410d.lib
opencv_text410d.lib
opencv_tracking410d.lib
opencv_video410d.lib
opencv_videoio410d.lib
opencv_videostab410d.lib
opencv_ximgproc410d.lib
opencv_xobjdetect410d.lib
opencv_xphoto410d.lib

六、程序验证

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
	Mat box = imread("1.jpg");
	Mat box_in_sence = imread("2.jpg");

	// 创建AKAZE
	auto akaze_detector = AKAZE::create();
	vector<KeyPoint> kpts_01, kpts_02;
	Mat descriptors1, descriptors2;
	akaze_detector->detectAndCompute(box, Mat(), kpts_01, descriptors1);
	akaze_detector->detectAndCompute(box_in_sence, Mat(), kpts_02, descriptors2);

	// 定义描述子匹配 - 暴力匹配
	Ptr<DescriptorMatcher> matcher = DescriptorMatcher::create(DescriptorMatcher::BRUTEFORCE);
	std::vector< DMatch > matches;
	matcher->match(descriptors1, descriptors2, matches);

	// 绘制匹配
	Mat img_matches;
	drawMatches(box, kpts_01, box_in_sence, kpts_02, matches, img_matches);
	imshow("AKAZE-Matches", img_matches);
	imwrite("D:/result.png", img_matches);

	waitKey(0);
	return 0;
}

七、VS2019属性页没有Microsoft.Cpp.x64.user解决办法

可以查看我写过的另一篇博客 VS2019属性管理器没有Microsoft.Cpp.x64.user的解决办法

参考博客

到此这篇关于详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0的文章就介绍到这了,更多相关VS2019 OpenCV OpenCV-contrib 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • VS2019配置OpenCV4.1.0详细教程与测试代码(推荐)

    软件需求 VS2019社区版.win10操作系统.opencv4.1.0 VS2019社区版(免费) 下载地址 OpenCV4.1.0 下载地址 配置系统环境变量 1.安装Opencv,双击刚下载好的OpenCV 选择安装目录,我选择的是C:\Opencv4.1 2.配置环境变量 注:OpenCV4.1.0没有x86,只配置x64就ok了 右键点击桌面电脑,再点击属性,进入以下界面 点击** 高级程序设置** 点击环境变量 在系统变量Path中添加环境变量 我的安装目录C:\Opencv4.1

  • vs2019永久配置opencv开发环境的方法步骤

    有很多同学肯定想学习opencv相关的知识,但是有些情况下每建一次项目都要重新引入下各种文件是不是很苦恼,所以我也面临了这个问题,在网上看到很多的同学的方法,有的也都是很一样的,将什么.dll加入环境变量,然后设置项目配置文件什么的,这些东西我也尝试过,但是很容易忘记,我也特意写了一些笔记,但是有时还是会忘记.恰巧我也升级了vs2019,所以也打算更新下方法,做到一劳永逸.下面是教程部分.首先我们要安装好我们的opencv,然后我们安装以后会看到生成的文件夹.如图 这一切就是基础文件,所以这个务

  • VS2019下opencv4.1.2配置图文教程(永久配置)

    关于VS2019的安装可参考:VS2019以及MFC的安装详细教程 一.使用VS2019创建控制台工程(举例,其他同理),并打开视图中的属性管理器,如图. 二.在属性管理器下,找到debug|x64,右击新建属性表,如图. 修改属性表名称.位置(我这没改),点击添加. 三.设置属性表属性.双击点开刚才新建的属性表. 1.设置包含目录 :如图,点击VC++目录下的包含目录进行编辑.输入之后点击确定. 输入:你的opencv所放目录\opencv\build\include\opencv2 你的op

  • VS2019配置OpenCV时找不到Microsoft.Cpp.x64.user的解决方法

    最近在配置OpenCV的时候,由于使用的是VS2019,结果找不到Microsoft.Cpp.X64.user这个文件.导致每次新建项目都得重新配置一遍,后来特意下载了vs2017,把下面这些文件拷到对应目录,就解决了. 下面附上三个文件的内容,只要按照上面目录,把文件放进去就可以了. Microsoft.Cpp.ARM.user.props <?xml version="1.0" encoding="utf-8"?> <Project Defau

  • 详解python中GPU版本的opencv常用方法介绍

    引言 本篇是以python的视角介绍相关的函数还有自我使用中的一些问题,本想在这篇之前总结一下opencv编译的全过程,但遇到了太多坑,暂时不太想回看做过的笔记,所以这里主要总结python下GPU版本的opencv. 主要函数说明 threshold():二值化,但要指定设定阈值 blendLinear():两幅图片的线形混合 calcHist() createBoxFilter ():创建一个规范化的2D框过滤器 canny边缘检测 createGaussianFilter():创建一个Ga

  • 详解如何在pyqt中通过OpenCV实现对窗口的透视变换

    窗口的透视变换效果    当我们点击Win10的UWP应用中的小部件时,会发现小部件会朝着鼠标点击位置凹陷下去,而且不同的点击位置对应着不同的凹陷情况,看起来就好像小部件在屏幕上不只有x轴和y轴,甚至还有一个z轴.要做到这一点,其实只要对窗口进行透视变换即可.下面是对Qt的窗口和按钮进行透视变换的效果: 具体代码    1.下面先定义一个类,它的作用是将传入的 QPixmap 转换为numpy 数组,然后用 opencv 的 warpPerspective 对数组进行透视变换,最后再将 nump

  • 详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0

    一.软件需求 VS2019社区版.win10操作系统.opencv4.1.0.opencv_contrib_4.1.0.cmake3.15.3 VS2019社区版(免费) 下载地址 OpenCV4.1.0 下载地址 OpenCV_contrib_4.1.0 下载地址 CMAKE 下载地址 二.CMAKE编译 在 D:\opencv_4.1.0 目录下创建个newbuild文件夹 进入cmake,配置OpenCV_4.1.0 配置OpenCV_contrib_4.1.0 注意:第2步操作时后面的路

  • 详解VS2019 dumpbin查看DLL的导出函数

    之前有人问过ViewDLL这些软件在哪下载.实际上使用VS就可以查看DLL的导出接口. 1.先打开VS内部的Power Shell 2.打开以后应该如下图所示,首先输入dumpbin查看下用法: 3.使用 /Exports 参数查看DLL的导出函数符号 顺便再讲下关于调用约定和函数符号的关系,即_stdcall,_cdecl.还有就是extern "c"对函数名符号的影响. 上面的Dll1.dll的导出头文件如下: #pragma once extern "C" {

  • 详解VS2019使用scanf()函数报错的解决方法

    目录 scanf_s()函数 scanf_s()函数与scanf()函数的区别 VS2019使用scanf()函数报错的解决方法 解决方法一 解决方法二 解决方法三 解决方法四 首先来看一段很简单的C语言代码 #include<stdio.h> int main(void) { char s[10]; scanf("%s",s); printf("%s",s); return 0; } 这段代码的作用就是输入一个字符串,再把这个字符串输出.在其他IDE(

  • 详解android项目由Gradle 2.2 切换到 3.0的坑

    问题1.运行的时候一直报如下错误 Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForApiTestDebug'.  > java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex 查了很多资料,大概意识是引用重复的库或jar的问题. 然

  • 详解使用VUE搭建后台管理系统(vue-cli更新至3.0)

    最近还没来得及更新文章,就发现vue-cli已经更新到3.0版本了. //想了想还是用升级吧,反正最终都逃不掉,不如在这个项目上实验一下3.0的威力(并不会). 升级vue-cli npm install -g vue@cli vue -V 使用图形化界面创建项目 这里需要到自定义目录下,方便以后的项目管理:执行命令后,会打开一个localhost:8080的窗口,是vue项目的图形化管理界面 cd targetFolder vue ui 创建新项目 这里不一一介绍了,随便截了两张图看看 这里配

  • 详解python实现数据归一化处理的方式:(0,1)标准化

    在机器学习过程中,对数据的处理过程中,常常需要对数据进行归一化处理,下面介绍(0, 1)标准化的方式,简单的说,其功能就是将预处理的数据的数值范围按一定关系"压缩"到(0,1)的范围类. 通常(0, 1)标注化处理的公式为: 即将样本点的数值减去最小值,再除以样本点数值最大与最小的差,原理公式就是这么基础. 下面看看使用python语言来编程实现吧 import numpy as np import matplotlib.pyplot as plt def noramlization(

  • 详解Android app自动更新总结(已适配9.0)

    1.配置: 1.1 AndroidManifest.xml中添加权限和FileProvider: <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name=&quo

  • webpack 5.68.0版本教程示例详解

    目录 起步 1. 基本安装 2. 配置出入口 plugin 1. html-webpack-plugin 2. progress-bar-webpack-plugin loader 1. css-loader与style-loader 2. url-loader与file-loader 3. sass-loader 4. postcss-loader 5. babel-loader 搭建环境 1. 开发环境与生产环境 2. 配置别名 代码分离 1. webpack-bundle-analyzer

随机推荐