When we are using python opencv to compare the similarity of two images, we may get this error: AttributeError: module ‘cv2’ has no attribute ‘xfeatures2d’. In this tutorial, we will introduce how to fix it.
This error may look like:
As to code:
sift = cv2.xfeatures2d.SIFT_create()
cv2.xfeatures2d does not exist in python opencv.
How to fix this AttributeError?
We should change the opencv version.
As to us, we can fix this error by these steps:
Step 1: uninstall python opencv installed.
pip uninstall opencv-python
Step 2: install opencv-python==3.4.2.16
pip install -i https://mirrors.aliyun.com/pypi/simple/ opencv-python==3.4.2.16 --trusted-host mirrors.aliyun.com
Step 3: install opencv-contrib-python==3.4.2.16
pip install -i https://mirrors.aliyun.com/pypi/simple/ opencv-contrib-python==3.4.2.16 --trusted-host mirrors.aliyun.com
Then, this error is fixed in our python application.
We should notice: if the python version is >3.7, this method may do not work. Because opencv-python==3.4.2.16 is not supported then python version > 3.7