google-ai-edge / mediapipe

Cross-platform, customizable ML solutions for live and streaming media.
https://ai.google.dev/edge/mediapipe
Apache License 2.0
26.82k stars 5.09k forks source link

from mediapipe.python._framework_bindings import resource_util ImportError: DLL load failed: The specified module could not be found. #1839

Closed al2code closed 3 years ago

al2code commented 3 years ago

Installed opencv and mediapipe via pip install on PyCharm, the installation went successfully. However, I get this error.

rmothukuru commented 3 years ago

@al2code, Can you please provide the steps you have followed to install MediaPipe and the Operating System that you are using? Thanks!

jiuqiant commented 3 years ago

It's likely due to the missing Visual C++ redistributable packages for Visual Studio 2015, 2017 and 2019. You can download vc_redist.x64.exe from https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0.

dillinho commented 3 years ago

For me the answer here helped: pip install msvc-runtime (probably because of the reason @jiuqiant mentioned)

sgowroji commented 3 years ago

Glad your resolve. We are closing this issue. Thanks!

Bharatnaty commented 3 years ago

ImportError: DLL load failed while importing _framework_bindings: The specified module could not be found.

sgowroji commented 3 years ago

Hi @Bharatnaty, Is your issue relevant to the above issue and still exists. Please try this mentioned comments https://github.com/google/mediapipe/issues/1839#issuecomment-817253475, https://github.com/google/mediapipe/issues/1839#issuecomment-817363779 . If not, please raise a new issue. Thanks!

Tark-patel commented 3 years ago

Thanks @jiuqiant for helping me.

sathiyapoobalan commented 3 years ago

thanks, installing vc++ redistributables helped me for this error ImportError: DLL load failed while importing _framework_bindings: The specified module could not be found.

ajay29sulu commented 2 years ago

Still getting the same error

rexsphere commented 2 years ago

Still getting the same error @dillinho solution worked for me when running in vs code

Akash17-coder commented 2 years ago

Installed opencv and mediapipe via pip install on PyCharm, the installation went successfully. However, I get this error.

same error how to solve this

SanZoom commented 2 years ago

I got this error when I install mediapipe-rpi4 on RPI-4B. How to solve it

moustafakhalil1 commented 2 years ago

hello i got issue like this thatis the error File "C:\Users\almanar\PycharmProjects\pythonProject\venv\Lib\site-packages\HandTrackingModule__init.py", line 2, in import mediapipe as mp File "C:\Users\almanar\PycharmProjects\pythonProject\venv\lib\site-packages\mediapipe\init.py", line 16, in from mediapipe.python import * File "C:\Users\almanar\PycharmProjects\pythonProject\venv\lib\site-packages\mediapipe\python\init__.py", line 17, in from mediapipe.python._framework_bindings import resource_util ImportError: DLL load failed while importing _framework_bindings: The specified module could not be found.

and that is my code

import cv2 import mediapipe as mp import time import math import numpy as np

class handDetector(): def init(self, mode=False, maxHands=2, detectionCon=0.5, trackCon=0.5): self.mode = mode self.maxHands = maxHands self.detectionCon = detectionCon self.trackCon = trackCon

    self.mpHands = mp.solutions.hands
    self.hands = self.mpHands.Hands(self.mode, self.maxHands,
                                    self.detectionCon, self.trackCon)
    self.mpDraw = mp.solutions.drawing_utils
    self.tipIds = [4, 8, 12, 16, 20]

def findHands(self, img, draw=True):
    imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    self.results = self.hands.process(imgRGB)
    # print(results.multi_hand_landmarks)

    if self.results.multi_hand_landmarks:
        for handLms in self.results.multi_hand_landmarks:
            if draw:
                self.mpDraw.draw_landmarks(img, handLms,
                                           self.mpHands.HAND_CONNECTIONS)

    return img

def findPosition(self, img, handNo=0, draw=True):
    xList = []
    yList = []
    bbox = []
    self.lmList = []
    if self.results.multi_hand_landmarks:
        myHand = self.results.multi_hand_landmarks[handNo]
        for id, lm in enumerate(myHand.landmark):
            # print(id, lm)
            h, w, c = img.shape
            cx, cy = int(lm.x * w), int(lm.y * h)
            xList.append(cx)
            yList.append(cy)
            # print(id, cx, cy)
            self.lmList.append([id, cx, cy])
            if draw:
                cv2.circle(img, (cx, cy), 5, (255, 0, 255), cv2.FILLED)

    xmin, xmax = min(xList, default="Empty"), max(xList, default="Empty")
    ymin, ymax = min(yList, default="Empty"), max(yList, default="Empty")
    bbox = xmin, ymin, xmax, ymax

    return self.lmList

def fingersUp(self):
    fingers = []
    # Thumb
    if self.lmList[self.tipIds[0]][1] < self.lmList[self.tipIds[0] - 1][1]:
        fingers.append(1)
    else:
        fingers.append(0)

    # Fingers
    for id in range(1, 5):
        if self.lmList[self.tipIds[id]][2] < self.lmList[self.tipIds[id] - 2][2]:
            fingers.append(1)
        else:
            fingers.append(0)

        # totalFingers = fingers.count(1)

    return fingers

def findDistance(self, p1, p2, img, draw=True, r=15, t=3):
    x1, y1 = self.lmList[p1][1:]
    x2, y2 = self.lmList[p2][1:]
    cx, cy = (x1 + x2) // 2, (y1 + y2) // 2

    if draw:
        cv2.line(img, (x1, y1), (x2, y2), (255, 0, 255), t)
        cv2.circle(img, (x1, y1), r, (255, 0, 255), cv2.FILLED)
        cv2.circle(img, (x2, y2), r, (255, 0, 255), cv2.FILLED)
        cv2.circle(img, (cx, cy), r, (0, 0, 255), cv2.FILLED)
        length = math.hypot(x2 - x1, y2 - y1)

    return length, img, [x1, y1, x2, y2, cx, cy]

def main(): pTime = 0 cTime = 0 cap = cv2.VideoCapture(0) detector = handDetector() while True: success, img = cap.read() img = detector.findHands(img) lmList, bbox = detector.findPosition(img) if len(lmList) != 0: print(lmList[4])

    cTime = time.time()
    fps = 1 / (cTime - pTime)
    pTime = cTime

    cv2.putText(img, str(int(fps)), (10, 70), cv2.FONT_HERSHEY_PLAIN, 3,
                (255, 0, 255), 3)

    cv2.imshow("Image", img)
    cv2.waitKey(1)

if name == "main": main() can any one help me please

deseipel commented 2 years ago

same issue here. Running Touchdesigner.

zzkyyds commented 2 years ago

maybe you can install msvc-runtime(Not maintained by Microsoft ) or VC_redist.x64.exe,last one is work for me