如何在 VsCode 上的 Python 3.7 和 OpenCV 4.1.1 中解决"import cv2, ImportError: DLL load failed "问题?



我有一个脚本,可以用笔记本电脑的网络摄像头检测人脸。一开始,我使用的是带有Anaconda软件包的Spyder,它没有为OpenCV抛出任何ImportError,一切都很好。然后我想改变IDE,因为我只想改变并开始使用VsCode,但独立于Anaconda。在我的代码中进行了一些改进之后,它开始为OpenCV抛出这个ImportError,如下所示:

File "C:/Users/User/Desktop/SeniorProject/EE 492/lbp/FaceDetection.py", line 7, in <module>
import cv2
ImportError: DLL load failed: Belirtilen modül bulunamadı.

Belirtilen modül bulunamadı.最后一行是我的母语,上面写着找不到指定的模块。 在我收到此错误消息后,我认为更改IDE可能是个好主意,并再次切换到Spyder(在Anaconda上(。但是我也在这个IDE上收到同样的错误。然后我搜索互联网并尝试一切来帮助我解决问题。 已尝试在 anaconda 上卸载 OpenCV,然后重新安装或尝试以下命令: Conda install opencv-python conda install opencv-contrib-python pip3 install opencv-python pip3 install opencv-contrib-python

我甚至尝试复制名为cv2.cp37-win_amd64.pyd的文件,并将其粘贴到C:\Python34\DLL和C:\Python34\Lib\site-packages文件夹中,但没有发生任何变化。我什至尝试了 PyCharm,认为它可能会有所帮助,但不,它也没有帮助。 我不知道如何解决这个问题。我应该卸载 Anaconda 和 OpenCV 并重新安装吗? 或者,也许我可以做一些我在互联网上没有遇到的事情。您的帮助将不胜感激。 无论如何,谢谢! 我将我的原始代码保留在下面:

import cv2
import sys
import numpy as np
import os
import scanning as sc

face_classifier = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')          
eye_classifier = cv2.CascadeClassifier('haarcascade_eye.xml')
video_capture = cv2.VideoCapture(0)
img_counter = 0
imagePath = r'C:UsersUserDesktopSeniorProjectEE 492lbpimagestesting'
newPath = r'C:UsersUserDesktopSeniorProjectEE 492lbpimagestesting2'
location = []
while True:
_, frame = video_capture.read()
im_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
k = cv2.waitKey(1) & 0xFF

#Detect faces, eyes and smiles in input frame
faces = face_classifier.detectMultiScale(im_gray, scaleFactor = 1.5, minNeighbors = 3, flags = 
cv2.CASCADE_SCALE_IMAGE, minSize = (30, 30))
eyes = eye_classifier.detectMultiScale(im_gray, scaleFactor = 1.5, minNeighbors = 3, flags = 
cv2.CASCADE_SCALE_IMAGE, minSize=(5, 5), maxSize=(10,10))

# Draw a rectangle around the faces
for x, y, w, h in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
location.append([x,y,w,h])
# Draw a rectangle around the eyes
for ex, ey, ew, eh in eyes:
cv2.rectangle(frame, (ex,ey), (ex+ew, ey+eh), (0, 0, 255), 1)

# Display the resulting frame
cv2.imshow('Face Detector', frame)
if k%256 == 27: #ESC pressed
break
elif k%256 == 32: #SPACE pressed
img_counter += 1
img_name = "FaceDetect_webcam_{}.png".format(img_counter)
cv2.imwrite(os.path.join(imagePath, img_name), frame)
print("{} saved!".format(img_name))
video_capture.release()

首先,我认为您将文件复制到错误的目录,除非您将其重命名Python34可能不是您正在使用的 3.7 版本。转到您的终端并键入python —version检查输出,这是您当前使用的 python 版本。使用pip install opencv-python,看看之后是否收到错误

相关内容

最新更新