图像学习环境搭建

一、Visual Studio 2019(稳定)

官网:点击
2019版:点击
参考博文:点击

1.安装目录

右键打开文件夹所在位置->选中Visual Studio 2019快捷图标->继续右键打开文件位置

2.相关问题

1.关于无法下载的问题
参考博文:点击、IP/服务器aka.ms的信息、修改hosts文件

2.关于每次VS项目都需要重新配置环境的解决方案
参考博文:点击

3.快捷键:
ctrl+k 选中代码块 ctrl+c注释、ctrl+k 选中代码块 ctrl+u取消注释
ctrl+shift+/ 块注释

3.空项目、win32项目、控制台程序的区别

  • 空项目(初学首选):空工程不包含任何的源代码文件,只需要在相应的源代码文件夹和头文件文件夹加入相应的.cpp和.h文件即可。
    (注:对于首次使用运行程序时很可能闪一下不见了,因为vs软件本书没有加上停止的代码,自己动手加上就好了。每次写程序时,需要include头文件stdlib.h,及在程序末尾加上system(“pause”),会发现程序停下来了。)

  • win32控制台程序:没有界面,只有命令符。生成的“.exe”文件直接运行操作即可。初始代码模版以main为程序入口,默认情况下,只链接C++运行时库和一些核心的win32库,链接器subsystem参数为console类型,所以编译出来的程序会有黑色的控制台窗口作为呈现标准输入(stdin)和标准输出(stdout)。

  • win32项目:有界面,但界面里面的控件,基本上要自己去实现(MFC应用程序无需)。初始代码模版实现一个简单的windows窗口,以WinMain作为程序入口,引用了win32Api头文件和库,链接器subsystem参数为windows,所以生成的程序不带黑色的控制台,直接使用标准输入和标准输出,看不到效果。

二、配置Eigen库+MKL库

1.Eigen库——矩阵运算

(线性代数,矩阵和矢量运算,数值分析及其相关的算法)
官网:点击
参考博文:点击1、 点击2、点击3、点击4、点击5、点击6(不用每次配)、使用点击7
注意:参考博文中关于Eigen配置方式有点混乱。
推荐:系统变量新增 EIGEN_DIR F:\software\eigen-3.4.0
VS中项目-右键属性-所有配置、所有平台-VC++目录-包含目录 $(EIGEN_DIR)
(属性配置不能混乱?否则冲突有问题)

2.MKL库——矩阵运算(加速)

官网:点击
参考博文:点击1、点击2
注意:
1.项目->右键属性出现Intel Libraries for oneAPI
2.

可执行文件目录:$(MKL_DIR)\bin\intel64
包含目录:$(MKL_DIR)\include
库目录:$(MKL_DIR)\..\..\compiler\2022.2.1\windows\compiler\lib\intel64_win、$(MKL_DIR)\lib\intel64(分行)
附加依赖项:mkl_intel_ilp64.lib、mkl_intel_thread.lib、mkl_core.lib、libiomp5md.lib

3.最好统一在一个地方配置(项目 或 (Debug x64、Release x64)),不然会出现 不同配置 可能冲突。
4.关于“LINK : fatal error LNK1104: 无法打开文件“MSVCRTD.lib”问题
解决方法:库目录 选中 从父级或项目默认设置继承。

三、配置OpenCV库(460 vc15)

官网:点击
参考博文:点击1、点击2、点击3、踩坑点击4、opencv各模块功能简介

注意
1.vc15对应msvc2017。自己使用VS版本应当大于vc版本,我使用的是VS2019,所以配置vc15的库。

2.系统环境变量推荐使用动态配置。
系统变量中新增:OPENCV_DIR F:\software\opencv\build\x64\vc15
Path中新增: %OPENCV_DIR%\bin

3.需要将vc15->bin中的opencv_world460.dll、opencv_world460d.dll复制到C:\Windows\SysWOW64文件夹;
需要将opencv_world460.dll、opencv_world460d.dll、opencv_videoio_ffmpeg460_64.dll复制到C:\Windows\System32文件夹(3个,否则报未加载未加载ntdll.pdb)。

4.VS项目使用OpenCV需要分别在Debug|x64、Release|x64中的 VC++目录中的包含目录库目录链接器-输入-附加依赖项(项目将调用的具体库)中进行配置,如下所示:

包含目录:$(OPENCV_DIR)\..\..\include、$(OPENCV_DIR)\..\..\include\opencv2(分行)
库目录:$(OPENCV_DIR)\lib
附加依赖项:opencv_world460.lib、opencv_world460d.lib(分行,不能缺,否则报error LNK2019: 无法解析的外部符号)

最后调试时记得选中Debug-x64。

5.关于“cv::plugin::impl::DynamicLib::libraryLoad load opencv_core_parallel_openmp46”的错误
参考博文:点击1、点击2
可能是编译时勾选或加了TBB,OPENMP,和gtk,但未安装相关库,导致找不到对应dll,
不过编译时虽并未加仍出现此错误。
结论:这些不用处理,不影响结果。
opencv-4.5.4 + tbb + ipp + openmp

6.关于“Opencv4测试报错00007FFB3253A9C0 (ntdll.dll)处引发的异常: 0xC0000005: 读取位置 0x0000000000000010 时发生访问冲突”的错误
参考博文:点击
原因:内存回收出了问题,openCV申请的内存,没有自动归还。
解决办法:就是在waitKey()后面添加一行“destroyAllWindows();”

你可能感兴趣的:(图像学习,学习,microsoft)