جستجو برای:
سبد خرید 0
  • خانه
  • محصولات
  • ویدئوهای آموزشی رایگان
  • مقالات
  • تماس با ما

ورود

گذرواژه خود را فراموش کرده اید؟

ثبت نام

داده های شخصی شما برای پشتیبانی از تجربه شما در این وب سایت، برای مدیریت دسترسی به حساب کاربری شما و برای اهداف دیگری که در سیاست حفظ حریم خصوصی ما شرح داده می شود مورد استفاده قرار می گیرد.

هوش مصنوعی رضوان
  • خانه
  • محصولات
  • ویدئوهای آموزشی رایگان
  • مقالات
  • تماس با ما
ورود / ثبت نام
0

وبلاگ

هوش مصنوعی رضوان > فایل های آموزشی رایگان > کنترل صدا با حرکت انگشتان دست در پایتون

کنترل صدا با حرکت انگشتان دست در پایتون

فایل های آموزشی رایگان
در این ویدئو، با استفاده از کتابخانه‌های mediapipe و opencv و numpy به تشریح برنامه‌ای در پایتون می‌پردازیم که نحوه کنترل صدای سیستم به عنوان یک خروجی (و یا حتی هر خروجی کنترلی دیگری) را با حرکت انگشتان دست نشان می‌دهد.
کتابخانه mediapipe یک کتابخانه متن باز است که توسط شرکت گوگل پشتیبانی می‌شود و در تشخیص حرکت و اشیاء کاربرد دارد.

کدهای پروژه:

import cv2
import mediapipe as mp
import numpy as np
from math import hypot
from ctypes import cast, POINTER
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume
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
امیدواریم این پروژه برای شما مفید و کاربردی واقع شده باشد. هدف آکادمی هوش مصنوعی رضوان، به اشتراک ‌گذاری تجربیاتی ارزشمند در زمینه پردازش تصویر و هوش مصنوعی با شما مخاطب ارجمند است. لطفا از سایر آموزش‌های رایگان و دوره‌های آموزشی ما دیدن و ما را در شبکه‌های اجتماعی دنبال فرمایید.
قبلی فشرده سازی تصویر با روش DCT در متلب
بعدی راهنمای استفاده از شکن برای عبور از تحریم‌های اینترنتی

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • فایل های آموزشی رایگان
  • مقالات
دسته‌های محصولات
  • دوره ها
  • عمومی
نوشته‌های تازه
  • تحولی نوین در صنعت بیمه با هوش مصنوعی
  • سیستم‌های توصیه‌گر: راهنمای جامع
  • ربات هوش مصنوعی چیست؟ اشتراکات و کاربردهای رباتیک و هوش مصنوعی
  • تعریف هوش مصنوعی در زنجیره تأمین
  • هوش مصنوعی احساسی: درک و تحلیل احساسات انسانی
درباره ما

هدف ما آموزش هوش مصنوعی با استفاده از پایتون و متلب می باشد تا بتوانیم موارد کاربردی آن را به شما عزیزان آموزش دهیم.

دسترسی سریع
  • دوره ها
  • تماس با ما
    نماد ها
    کلیه حقوق مادی و معنوی این سایت متعلق به هوش مصنوعی رضوان می‌باشد.
    اشتراک گذاری در شبکه های اجتماعی
    ارسال به ایمیل
    https://airezvan.com/?p=9294
    دسته بندی دوره ها
    دسته بندی بلاگ
    دوره های من
    دسته بندی دوره ها

    دوره ها

    • 3 دوره
    دسته بندی بلاگ

    فایل های آموزشی رایگان

    • 32 نوشته

    مقالات

    • 56 نوشته
    دوره های من
    برای مشاهده خریدهای خود باید وارد حساب کاربری خود شوید
    Facebook Twitter Youtube Instagram Whatsapp
    مرورگر شما از HTML5 پشتیبانی نمی کند.