1 环境设置:

win10

python 3.6.8

opencv 4.0.1

2 尝试的方法

在学习人脸识别中,遇到了没有 cv2 中没有 face 属性。在网上找了几个方法,均没有成功解决掉该问题。

2.1 方法一

来源:module 'cv2.cv2' has no attribute 'face'

pip install opencv-contrib-python

重启sublime,在运行后依旧报错。

当然了,这个不成功可能是由于opencv 与 contrib 版本不匹配造成的。

2.2 方法二

来源:OpenCV3-Python人脸识别方法—人脸识别与标记

方法:

model = cv2.face.createEigenFaceRecognizer()

改为

model = cv2.face_EigenFaceRecognizer.create()

依据报错,只是这次是不存在 face_EigenFaceRecognizer 属性。

当然了,以上两个均无法解决错误可能是版本问题。

3 解决方案

3.1、寻根问祖——官网

首先查看 opencv 官网 https://docs.opencv.org/4.0.1/

OpenCV modules 赫然而现

既然是 opencv 的 modules 出现问题,就直接看 modules 好了

注意:不要点击菜单栏中的 Modules ,直接看本页内容 OK 了;主要是点击后看到的内容比较混乱,反而没有对 “ 打开神奇的大门 ” 没有太大的帮助。

不难发现,我们在 opencv 的基础款 (Main modules)中确实没有发现 face 类;当我们继续查看附加款(Extra modules)时,竟然发现了 face ;任督二脉就此打通。

真的是机缘巧合,打开菜单栏中的 modules 时会发现,穷列了所有的 modules (Here is a list of all modules:),多达 4 页,幸运的是在第一页出现了  Face Analysis,点开后是对face 类的详细讲解 【Face Analysis】,不过此时已经很难看到庐山真面了。

3.2 解决方案

以前在安装库的时候,记得有的库文件中带有 contrib ,而基本都没安装过,contrib 应该就和 extra modules 有关 !

打开 python 扩展包网站 https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

找到对应版本 opencv_python-4.0.1+contrib-cp36-cp36m-win_amd64.whl ,下载 - 安装。

搞定!

安装前先卸载了 opencv-python

安装后的版本为

opencv-python         4.0.1+contrib

4 参考

官网 https://docs.opencv.org/4.0.1/index.html

Face Analysis 官网 https://docs.opencv.org/4.0.1/db/d7c/group__face.html

如何編譯opencv3.0(含extra modules) 这个讲的比较好,有一定启发性。

https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv python 第三方库文件

module 'cv2.cv2' has no attribute 'face' 这个案例不成功可能是opencv 与extent modules不匹配造成的。

OpenCV3-Python人脸识别方法—人脸识别与标记 文档中讲述了原因可能是新版本变化使得书中的代码形式改变,作者应该也费了一番功夫。

OpenCV 学习笔记 05 人脸检测和识别 AttributeError: module 'cv2' has no attribute 'face'的更多相关文章

  1. OpenCV 学习笔记 05 人脸检测和识别

    本节将介绍 Haar 级联分类器,通过对比分析相邻图像区域来判断给定图像或子图像与已知对象是否匹配. 本章将考虑如何将多个  Haar 级联分类器构成一个层次结构,即一个分类器能识别整体区域(如人脸) ...

  2. OpenCV 学习笔记 07 目标检测与识别

    目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...

  3. OpenCV 学习笔记 05 级联分类器CascadeClassifier类

    在人脸检测中,CascadeClassifier 是一个类,该类的作用是(基于官方已经训练好的数据文件 .xml)实例化一个检测器. 1 类 CascadeClassifier 的概述 首先看一下该类 ...

  4. OpenCV学习代码记录——人脸检测

    很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tr ...

  5. opencv学习笔记霍夫变换——直线检测

    参考大佬博文:blog.csdn.net/jia20003/article/details/7724530 lps-683.iteye.com/blog/2254368 openCV里有两个函数(比较 ...

  6. OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法

    函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(arr ...

  7. 基于OpenCv的人脸检测、识别系统学习制作笔记之三

    1.在windows下编写人脸检测.识别系统.目前已完成:可利用摄像头提取图像,并将人脸检测出来,未进行识别. 2.在linux下进行编译在windows环境下已经能运行的代码. 为此进行了linux ...

  8. 基于OpenCV读取摄像头进行人脸检测和人脸识别

    前段时间使用OpenCV的库函数实现了人脸检测和人脸识别,笔者的实验环境为VS2010+OpenCV2.4.4,opencv的环境配置网上有很多,不再赘述.检测的代码网上很多,记不清楚从哪儿copy的 ...

  9. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

随机推荐

  1. 开始写博客,学习Linq(3)

    为什么需要Linq?(摘自原文) 读者会发现LINQ着眼于解决编程语言和数据库之间广发存在的不统一问题. 1.常见的问题,使用.NET Framework Class Library(FCL)提供了A ...

  2. SpringBank 开发日志 Mybatis 使用redis 作为二级缓存时,无法通过cacheEnabled=false 将其关闭

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...

  3. Delphi自动适应屏幕分辨率的属性

    https://www.cnblogs.com/zhangzhifeng/category/835602.html 这是个困惑我很长时间的问题,到今天终于得到解决了. 话说Delphi有个很强的窗体设 ...

  4. dijkstra基础

    #include<iostream> #include<queue> #include<cstdio> #include<cstring> #inclu ...

  5. 【Java】 剑指offer(6) 重建二叉树

    本文参考自<剑指offer>一书,代码采用Java语言.  更多:<剑指Offer>Java实现合集 题目 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的 ...

  6. 更改具有Foreign key约束的表

    1.Foreign key 说明: foreign key(外键) 建立起了表与表之间的约束关系,让表与表之间的数据更具有完整性和关联性.设想,有两张表A.B,A表中保存了许多电脑制造商的信息,比如联 ...

  7. Mac配置Eclipse CDT的Debug出现的问题(转)

      问题1:出现 Could not determine GDB version using command: gdb --version 原因: mac上没有安装gdb或者gdb位置配置有问题 解决 ...

  8. codeforces 366C Dima and Salad 【限制性01背包】

    <题目链接> 题目大意: 在一个水果篮里有n种水果,并且这些水果每一种都有一个美味度和一个卡路里的属性, 小明要从这些水果中选出来一些做一个水果沙拉, 并且要求他的水果沙拉的美味度是卡路里 ...

  9. 030.Zabbix分布式部署

    一 分布式Zabbix介绍 zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix se ...

  10. IdentityServer4-MVC+Hybrid实现Claims授权验证(四)

    上节以对话形式,大概说了几种客户端授权模式的原理,这节重点介绍Hybrid模式在MVC下的使用.且为实现IdentityServer4从数据库获取User进行验证,并对Claim进行权限设置打下基础( ...