我有一个脚本,可以通过笔记本电脑的网络摄像头检测到人脸。一开始,我使用的是带有Anaconda软件包的Spyder,它没有为OpenCV抛出任何ImportError,一切都很好。然后我想更改IDE,因为我只想要更改并开始使用VsCode,但独立于Anaconda。在对我的代码进行了一些改进之后,它开始向OpenCV抛出此ImportError,如下所示:
在我的母语中,它说找不到指定的模块。收到此错误消息后,我认为更改IDE可能是一个好主意,然后再次切换到Spyder(在Anaconda上)。但是我在这个IDE上也一直遇到同样的错误。然后,我搜索了Internet,并尝试了所有方法来帮助我解决问题。试图在anaconda上卸载OpenCV,然后重新安装或尝试以下命令:conda安装opencv-pythonconda安装opencv-contrib-pythonpip3安装opencv-pythonpip3 install opencv-contrib-pythonFile "C:/Users/User/Desktop/SeniorProject/EE 492/lbp/FaceDetection.py", line 7, in <module> import cv2 ImportError: DLL load failed: Belirtilen modül bulunamadı.
最后一行的Belirtilenmodülbulunamadı。
我什至尝试复制名为cv2.cp37-win_amd64.pyd]的文件,并将它们粘贴到C:\ Python34 \ DLLs和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:\Users\User\Desktop\SeniorProject\EE 492\lbp\images\testing' newPath = r'C:\Users\User\Desktop\SeniorProject\EE 492\lbp\images\testing2' 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()
我有一个脚本,可以通过笔记本电脑的网络摄像头检测到人脸。在开始的时候,我使用的是带有Anaconda软件包的Spyder,它没有为OpenCV和所有内容抛出任何ImportError ...
首先,我认为您正在将文件复制到错误的目录中,除非您将其重命名为Python34
可能不是您使用的3.7版本。转到您的终端,然后键入python —version
检查输出,即您当前使用的python版本。使用pip install opencv-python
,然后查看是否收到错误