FileNotFoundError: путь не существует при использовании mediapipe для обнаружения рук
Я пытаюсь выполнить обнаружение рук в потоке веб-камеры с помощью mediapipe, но когда я запускаю код, я получаю следующую ошибку:
**File "D:\HandTracking\handtracking.py", line 9, in <module>
hands = mpHands.Hands()**
**File "C:\Users\Θανάσης\AppData\Local\Programs\Python\Python39\lib\site-packages\mediapipe\python\solutions\hands.py", line 109, in __init__
super().__init__(**
**File "C:\Users\Θανάσης\AppData\Local\Programs\Python\Python39\lib\site-packages\mediapipe\python\solution_base.py", line 237, in __init__
validated_graph.initialize(
FileNotFoundError: The path does not exist.**
**[ WARN:0] global C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-1i5nllza\opencv\modules\videoio\src\cap_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()
3 ответа
Эта ошибка возникает, когда в пути к проекту есть символы, отличные от Юникода. Это связано не только с именем пользователя, но и со всеми символами, включенными в путь. Например, если в пути к вашему проекту есть такие символы, как «ç», «ş», «ü», «ğ», «ı», «ö» и т. д., у вас будет эта ошибка.
Чтобы устранить эту ошибку, создайте свой проект в папке, в которой нет символов, отличных от юникода.
Это действительно сработало для меня...
Я решил проблему, используя здесь. Я думаю, что проблема заключается в кодировке пути в имени пути.
Итак, основная идея состоит в том, чтобы изменить имя пользовательской папки на английское.
Microsoft предоставила способ изменить папку пользователя для справки.
- Войдите в систему, используя другую учетную запись администратора.
Примечание. Сначала вам может потребоваться создать новую учетную запись администратора.
- Перейдите в папку C:\users\ и переименуйте вложенную папку с исходным именем пользователя в новое имя пользователя.
- Перейдите в реестр и измените значение реестра ProfileImagePath на новый путь. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList<ID пользователя>\
Примечание. Замените новым именем, которое вы хотите изменить на свою учетную запись пользователя.
- Выйдите из системы и войдите снова, используя пользователя, чье имя было изменено, и пользователь должен использовать предыдущий профиль с новым именем пути.
Это сработало и для меня...
«Эта ошибка возникает, когда в пути к проекту есть символы, отличные от Юникода. Это связано не только с именем пользователя, но и со всеми символами, включенными в путь. Например, если у вас есть символы в имени пути вашего проекта. например, «ç», «ş», «ü», «ğ», «ı», «ö» и т. д. у вас будет эта ошибка».