namespace "cv" 没有成员 "face" 问题记一下

这是一个问题记录的帖子,并没有正面解决掉我的问题。调了好久之后没解决掉,问师兄发现这个模块没有用到。就给删掉了。

下面记录一下这个问题的常规解决办法。



一:首先是opencv的版本是否合适

项目的版本低的话最好不要用高版本的OpenCV,最好是用当时开发的版本。

二:然后是OpenCV的include路径配置

  1. 视图 ==》其他窗口 ==》属性管理器,点击打开

在这里插入图片描述

2. 进入**属性管理器的窗口**,下边会有一个Debug|x64的文件夹,点开,下有名为Microsoft.Cpp.x64.user的文件,右键属性 (这个项目里,师兄原来新建了一个文件来专门管理OpenCV的路径和库文件配置问题,若是你的项目也有这个的话,就修改这里的,若是没有,则修改Microsoft.Cpp.x64.user)

在这里插入图片描述

  1. 然后选择通用属性下的VC++目录,右边会有包含目录库目录,点击包含目录,添加以下三条路径,也就是OpenCV相关解压文件所在的目录
D:\opencv3.1\build\include
D:\opencv3.1\build\include\opencv2
D:\opencv3.1\build\include\opencv

这三条路径要依据自己解压OpenCV3.1的路径进行修改


在这里插入图片描述

  1. 库目录增加以下路径
D:\opencv3.1\build\x64\vc14\lib

在这里插入图片描述

5. 还是刚才的属性页面 点击链接器,选择输入,会在右侧看到附加依赖项,添加下面文件 opencv_world310d.lib(前缀都一样,都是opencv_world,表示全局依赖项;310表示不同的版本;d表示debug版本,没有d表示release版本,此处添加debug版本) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190114231244604.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3F1bnF1bnN0eWxlOTk=,size_16,color_FFFFFF,t_70)

注:然后在修改上面的内容时,一定要注意把旧的路径全部删干净。要不然容易找不到文件。

三:这个文件是否在OpenCV的扩展包中

官网下载的OpenCV库包只包含了基础功能的库文件,绝大多数的基础功能开发就够用了。像人脸识别的功能,就在扩展包里面了。opencv_contrib。但是要注意的是最好是摘到别人编译出来的包用,我下载了官方github上的库,是类似demo的文件,从里面抠出来的face包,但是并没有解决问题。嘿嘿嘿,最后直接删了完事。

我的分析过程

没有正面解决这个问题,只是记录一下我的分析过程。

配置好opencv3.4.0,新建项目可以打开图片,说明配置成功
在这里插入图片描述
导入原有项目,报错如下
在这里插入图片描述
老项目的opencv的版本是3.1.0,怀疑是版本的问题,按一下老版本的OpenCV试一下。

好吧,不是版本的问题,找了OpenCV2路径下所有的函数文件,发现没有face文件,是不是并没有人脸检测的内容,需要导进去啊?

face是在OpenCV的扩展包里,这个需要去下载,需要注意的是不要下载项目形式的扩展包,最好是下载别人重编译好的包。(我没有再去找合适的包,这一点大家去别的地方再看看吧。)
在这里插入图片描述

然后实在是想不明白,问了问师兄,说这个模块的功能其实没有用上,可以删掉。。。。。我这吭吭哧哧捣鼓了半天,师兄三把两把搞好了,还是说,有时候不能闭门造车,该问的时候,还是要问的。C++初上手,果然和java是有很大的区别。

嘿嘿嘿,纯属记录贴,没有帮上忙的话勿怪啊。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值