我正在尝试使用mediapipe完成对网络摄像头提要的手检测,但是当我运行代码时,我得到以下错误:
**File "D:HandTrackinghandtracking.py", line 9, in <module>
hands = mpHands.Hands()**
**File "C:UsersΘανάσηςAppDataLocalProgramsPythonPython39libsite-packagesmediapipepythonsolutionshands.py", line 109, in __init__
super().__init__(**
**File "C:UsersΘανάσηςAppDataLocalProgramsPythonPython39libsite-packagesmediapipepythonsolution_base.py", line 237, in __init__
validated_graph.initialize(
FileNotFoundError: The path does not exist.**
**[ WARN:0] global C:UsersrunneradminAppDataLocalTemppip-req-build-1i5nllzaopencvmodulesvideoiosrccap_msmf.cpp (438) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback**
代码为
import cv2 as cv
import mediapipe as mp
capture = cv.VideoCapture(0)
mpHands = mp.solutions.hands
hands = mpHands.Hands()
while True:
isTrue, frame = capture.read()
frameRGB = cv.cvtColor(frame, cv.COLOR_BGR2RGB)
results = hands.process(frameRGB)
cv.imshow("Frame", frame)
if cv.waitKey(20) & 0xFF == ord('d'):
break
capture.release()
cv.destroyAllWindows()
当项目路径中存在非unicode字符时,会发生此错误。它不仅与用户名相关,而且与路径名中包含的所有字符相关。例如,如果您的项目路径名中有字符,如" ", "
为了消除此错误,请在没有"非unicode"的文件夹中构建项目。字符。
这对我来说真的很有效…
我用这里解决了这个问题。我认为问题出在路径名的路径编码上。
所以主要的想法是将用户文件夹名称改为英文
Microsoft提供了更改用户文件夹的方法供您参考。
- 使用其他管理员帐号登录
注意:您可能需要首先创建一个新的管理帐户。
- 进入C:users文件夹,将原用户名的子文件夹重命名为新用户名
- 进入注册表,将注册表值ProfileImagePath修改为新的路径名称。HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
注意:请替换为您想要更改为您的用户帐户的新名称。
- 退出并使用更改了用户名的用户重新登录,用户应使用新路径名的前一个配置文件
这对我来说也很有效。
"当项目路径中有非unicode字符时,会发生此错误。它不仅与用户名相关,而且与路径名中包含的所有字符相关。例如,如果项目的路径名中有字符,如"