• 5-qadam - Chiqishni korsatish
  • Iloha dastur kodi
  • -bosqich - qo'l tasviriga qo'l belgilarini va qo'l ulanishlarini chizish




    Download 0,74 Mb.
    bet3/4
    Sana26.11.2023
    Hajmi0,74 Mb.
    #105655
    1   2   3   4
    Bog'liq
    Machine learning 2-amaliy

    4-bosqich - qo'l tasviriga qo'l belgilarini va qo'l ulanishlarini chizish

    Yuqoridagi kodda biz qo'l nuqtasi raqamini aylantiramiz 20. Bu pushti barmoqning uchi.
    O'zingiz aylantirmoqchi bo'lgan qo'l nuqtasi raqamidan foydalaning, chunki ular qo'l belgisi diagrammasida keltirilgan. Keyin kiritilgan rasmga qo'l belgilarini va ular orasidagi bog'lanishlarni chizamiz.

    5-qadam - Chiqishni ko'rsatish



    Biz yuqoridagi kodni foydalanuvchiga ko'rsatish uchun foydalanamiz. Chiqish foydalanuvchining real vaqtdagi videosidir. Unda foydalanuvchining qo'llari kuzatilgan, qo'l belgilari va qo'llarda chizilgan ulanishlar mavjud.
    Natijalar
    Dastur va modulning chiqishi bir xil bo'ladi. Ularning har biri xatosiz tugallanganda, natija quyida ko'rsatilgandek bo'ladi:

    Xulosa
    Endi siz qo'lni kuzatishni amalga oshiradigan dastur yaratish uchun zarur bo'lgan barcha ko'nikmalarni tushunasiz va egasiz. Shuningdek, siz kodni modulga aylantirish uchun zarur bo'lgan ko'nikmalarga egasiz.
    Davom eting va modulni Pythonqo'lda kuzatishni talab qiladigan har qanday loyihaga import qiling va modul o'z sehrini bajarishini tomosha qiling.

    Iloha dastur kodi
    import cv2
    import mediapipe as mp
    from math import hypot
    from ctypes import cast, POINTER
    from comtypes import CLSCTX_ALL
    from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume
    import numpy as np
    cap = cv2.VideoCapture(0)
    mpHands = mp.solutions.hands
    hands = mpHands.Hands()
    mpDraw = mp.solutions.drawing_utils
    devices = AudioUtilities.GetSpeakers()
    interface = devices.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None)
    volume = cast(interface, POINTER(IAudioEndpointVolume))
    volMin, volMax = volume.GetVolumeRange()[:2]
    while True:
    success, img = cap.read()
    imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    results = hands.process(imgRGB)
    lmList = []
    if results.multi_hand_landmarks:
    for handlandmark in results.multi_hand_landmarks:
    for id, lm in enumerate(handlandmark.landmark):
    h, w, c = img.shape
    cx, cy = int(lm.x * w), int(lm.y * h)
    lmList.append([id, cx, cy])
    mpDraw.draw_landmarks(img, handlandmark, mpHands.HAND_CONNECTIONS)
    if lmList != []:
    x1, y1 = lmList[4][1], lmList[4][2]
    x2, y2 = lmList[8][1], lmList[8][2]
    cv2.circle(img, (x1, y1), 15, (255, 0, 0), cv2.FILLED)
    cv2.circle(img, (x2, y2), 15, (255, 0, 0), cv2.FILLED)
    cv2.line(img, (x1, y1), (x2, y2), (255, 0, 0), 3)
    length = hypot(x2 - x1, y2 - y1)
    vol = np.interp(length, [15, 220], [volMin, volMax])
    print(vol, length)
    volume.SetMasterVolumeLevel(vol, None)
    cv2.imshow('Image', img)
    if cv2.waitKey(1) & 0xff == ord('q'):
    break

    Download 0,74 Mb.
    1   2   3   4




    Download 0,74 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    -bosqich - qo'l tasviriga qo'l belgilarini va qo'l ulanishlarini chizish

    Download 0,74 Mb.