OpenCV: AttributeError: module 'cv2' has no attribute 'face'

为君一笑 提交于 2019-11-28 10:04:04

问题


I am creating a face recognition system using Python and OpenCV on these versions:

  • Python 3.6.2 :: Anaconda custom (64-bit)
  • Anaconda 4.3.23
  • OpenCV 3.3.0

When I try to train the face recognizer:

face_recognizer = cv2.face.createLBPHFaceRecognizer()

I get this error:

AttributeError: module 'cv2' has no attribute 'face'

Update:

I've tried to do this:

pip install opencv_python‑3.3.0+contrib‑cp36‑cp36m‑win_amd64.whl

Also:

conda install -c menpo opencv3=3.3.0

And I still have the error.


回答1:


The Menpo project does not have an installer for OpenCV 3.3. The Menpo project is up to 3.1 on macOS and Windows, and 3.2 on Linux. See the Anaconda package for that description and also the list of files for the installer versions. Actually, you can check out the GitHub repo for Menpo's OpenCV3 build and grab the files yourself. You can change the build files to suit your system if needed.

I'm not sure if your pip attempt includes a typo or not---the correct PyPI package wheel file with the contrib module is opencv_contrib_python not opencv_python+contrib, as shown at PyPI. Note that if you're not using Windows the GUI features of OpenCV will not work with the pip installer, including imshow() and other similar features.

You'd be better served just removing and reinstalling fresh with the contrib modules instead of trying to build them in later.




回答2:


I found the solution to my issue, you have to follow this tutorial OpenCV with extra modules.

The essential steps are:

  • Go to C:/PythonXX/lib/site-packeges (the site-packages folder where your python is installed), and delete cv2.pyd if present.
  • Download OpenCV with extra modules
  • Create a Visual Studio project with CMake
  • Open Python IDLE and enter import cv2. If there is no error, then the installation is successful.



回答3:


my using python 2.7 and opencv 3.3.0 working in code

cv2.face.LBPHFaceRecognizer_create(); 



回答4:


While I was looking for the same solution, I tried out many methods which don't work well with successfully installing OpenCV along with the extra modules i.e., OpenCV Contrib.

Apparently, while using pip install opencv-python windows platforms usually download only OpenCV without the extra modules!

What works, is stable and easy to install:

  1. Download the integrated 'whl' file containing both OpenCV and it's Contrib files, which would be like 'opencv_python‑3.4.3+contrib‑cp36‑cp36m‑win_amd64.whl' which can be downloaded from here.
  2. Install using pip install <whl filename>

I have tried other methods which are unreliable such as the solution suggested by @RoyaumeIX, however ended up with failure.

So is it with using

pip install opencv
pip install opencv-contrib

Installing opencv-contrib does not properly register the opencv package.

I strongly suggest that you directly download the official whl file and install it.




回答5:


Solution, as were found at OpenCV forum (and same at StackOverflow), works well for me:

pip install opencv-python
pip install opencv_contrib_python

And in cv2 version 4.0.0 face recogniser can be created by using different function name, as mentionted above:

face_recognizer = cv2.face.LBPHFaceRecognizer_create()
face_recognizer = cv2.face.EigenFaceRecognizer_create()
face_recognizer = cv2.face.FisherFaceRecognizer_create()


来源:https://stackoverflow.com/questions/46288224/opencv-attributeerror-module-cv2-has-no-attribute-face

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!