前言
opencv4.5.1于2020年12月份推出,是目前为止最新的一个正式版本,在DNN支持方面又有了较多的更新,值得研究和关注。
不过很久没有在windows(win10, x64)上编译opencv源代码了,感觉有些手生,这里把遇到的三个问题罗列出来。
opencv和对应版本的contribute代码获取
我们都知道 ,对于某个版本的opencv代码而言,如果想把其对应的contrib代码编译进来,其版本必须对应。 那么这里面的第一个问题就是,如何下载到对应代码?
答案是到GitHub上,先进入下面这个页面

分别点击opencv和opencv_contrib,进去再点击tags, 如下图红框所示
点击tags就能看到如下各个版本所对应的软件包,如红框所示。可以根据自己喜好来下载zip或tar.gz压缩格式。
模块计算机类型"x64"与目标计算机类型“x86”冲突
这个是由于visual studio的编译类型设置的是x64,但在用cmake配置opencv源代码项目时用的是缺省win32类型。所以,其解决办法也很简单,就是在configure时设置平台类型为x64,如下图红框所示。
找不到 vgg_generated_120.i
编译时可能会遇到找不到vgg_generated_120.i, boostdesc_lbgm.i 等文件,这个时候需要先单独下载这些模型文件,并置于下图所示位置。可以从网上找。
值得注意的是,光有这些还不行,还需要去cmake-gui里面再一次点击configure和generate。之后再去编译才能通过。