html5lib模块安装,一、Opencv3.4.1及扩展模块在VS2019里的安装

一、版本说明

(我发誓这是我最后一次写Opencv的安装~_~)

Opencv的稳定版本和扩展版本是分开的,一般我们使用稳定版本就可以了,但是如果设计到人脸识别这些东西,那么就需要用到扩展版本。

各软件版本:

Opencv3.4.1

Opencv contrib 3.4.1

Cmake  3.16.0

VS 2019

二、基础准备

首先必须安装VS,Cmake,这些不多说了。

注意这里contrib下载的版本在这里选择:

55953426db85dfc2f8de66208f0a756e.png

三、编译过程

1-这里我的文件夹如图:

15e62d013c84448b5bddab81888e19eb.png

build是空文件夹,contrib下载的安装包解压在了sources文件夹下面(它也可以放在Sources并列位置)

2-打开Cmake

路径如下:

6b457963d3843684e54e68b781014be9.png

3-点击Configure

这个时候开始配置,但是会出现错误:

错误一:OpenCV does not recognize MSVC_VERSION 1922

我们打开提示对应的Cmake文件,找到对应的位置。

if(MSVC_VERSION EQUAL 1400)set(OpenCV_RUNTIME vc8)

elseif(MSVC_VERSION EQUAL1500)set(OpenCV_RUNTIME vc9)

elseif(MSVC_VERSION EQUAL1600)set(OpenCV_RUNTIME vc10)

elseif(MSVC_VERSION EQUAL1700)set(OpenCV_RUNTIME vc11)

elseif(MSVC_VERSION EQUAL1800)set(OpenCV_RUNTIME vc12)

elseif(MSVC_VERSION EQUAL1900)set(OpenCV_RUNTIME vc14)

elseif(MSVC_VERSION MATCHES"^191[0-9]$")set(OpenCV_RUNTIME vc15)

可以看到,由于使用的vs2019,对应版本是1922,所以这里无法识别,

这个时候我们修改如下(大家根据自己的VS对应的版本去添加,一般来说VS2019-vc16, vs2017-vc15):

if(MSVC_VERSION EQUAL 1400)set(OpenCV_RUNTIME vc8)

elseif(MSVC_VERSION EQUAL1500)set(OpenCV_RUNTIME vc9)

elseif(MSVC_VERSION EQUAL1600)set(OpenCV_RUNTIME vc10)

elseif(MSVC_VERSION EQUAL1700)set(OpenCV_RUNTIME vc11)

elseif(MSVC_VERSION EQUAL1800)set(OpenCV_RUNTIME vc12)

elseif(MSVC_VERSION EQUAL1900)set(OpenCV_RUNTIME vc14)

#添加这两行,1922是错误提示的vs版本,vc16是对应的工具

elseif(MSVC_VERSION EQUAL1910)set(OpenCV_RUNTIME vc15)

elseif(MSVC_VERSION EQUAL1922)set(OpenCV_RUNTIME vc16)

elseif(MSVC_VERSION MATCHES"^191[0-9]$")set(OpenCV_RUNTIME vc15)

错误二:WARNING "Face: Can‘t get model file for face alignment."

这个时候我们找到对应的cmakelists部分:

set(__commit_hash "8afa57abc8229d611c4937165d20e2a2d9fc5a12")set(__file_hash "7505c44ca4eb54b4ab1e4777cb96ac05")

ocv_download(

FILENAME face_landmark_model.dat

HASH ${__file_hash}

URL"${OPENCV_FACE_ALIGNMENT_URL}"

"$ENV{OPENCV_FACE_ALIGNMENT_URL}"

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/"DESTINATION_DIR"${CMAKE_BINARY_DIR}/${OPENCV_TEST_DATA_INSTALL_PATH}/cv/face/"ID"data"RELATIVE_URL

STATUS res

)if(NOT res)

message(WARNING"Face: Can‘t get model file for face alignment.")

endif()

发现是其中的数据无法下载:face_landmark_model.dat

我们下载下来,复制到下面这个文件夹(注意不同版本不一样,Opencv3.4.1是这样的)

21373dd736ece91443fe8b73e3fa2c8b.png

我们可以看到里面已经有了一个文件,但是没有下载成功,我们把这个文件删除,并将复制过来的文件命名为截图里面的文件名。

4-设置

勾选Build_opencv_world:(这个选项将所有的lib文件集合为一个.lib文件)

27db2832903a74a2346825db3eac52dc.png

设置contrib文件路径:

be34a91182bd8a9da1e37e2ce9109ef1.png

设置安装路径(这个文件夹是最后使用的)

a8938b2e223ca1e01920492d373b0ca7.png

5-重新点击Configure,多点击几次,直到完全变白

6-点击Generate

7-点击OpenProject

三、VS编译

1-编译

解决方案选择Release x64

解决方案里面选择ALL_BUILD,然后右键,选择生成,开始编译,大概半个小时到一个小时

09246e90780d60a77cc5da88257642a1.png

2-安装

单击INSTALL, 右键,选择“设为启动项目”

然后生成。所有文件被安装到install文件里面

四、配置环境变量与属性

1-配置电脑系统变量

c711c145bf9ae8d56d5f765ee1cc5008.png

在Path里面添加路径:

68c12244b144639e685f95ad525d6d53.png

也就是install文件夹里面的bin文件夹

2-VS属性表配置

兴建一个工程,在里面兴建一个属性表Opencv

2.1  VC++目录

93ab50f4c6abeca5eee58f4a24f96692.png

在包含目录里面添加:

9095bc51e19973469fb1a0dba140409b.png

库目录里面添加(都是Install文件夹里面的):

ce2a2b6404d344bd021025720d74ed6e.png

2.2 C/C++->常规->附加包含目录:

543067e97ff7b66992b1ecbad7ea765a.png

2.3 链接器->输入->附加依赖项

opencv_world341.lib

opencv_img_hash341.lib

注意上面我只是编译安装了Release x64版本的,所以只有opencv_world341.lib,而没有出现opencv_world341d.lib,如果需要可以自己再次配置安装。

至此安装完成

五参考链接

有一部分忘记了。

六、问题补充

我最开始的时候只是安装了Opencv没有安装扩展部分,当再次编译安装的时候,出来问题:

无法定位程序输入点于动态链接库

这个时候是因为原来的 opencv_world341.dll程序没有被覆盖,所以我们需要找到新生成的opencv_world341(install/bin文件夹里面),复制到:

C:\Windows\System32

重新覆盖即可

另外,各种输入的时候,路径不要有错误

原文:https://www.cnblogs.com/fantianliang/p/12709753.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值