?автор: «Маленький дзен больших данных»Автор в области больших данных, сертифицированный эксперт Huawei по облачному обмену, блогер-эксперт Alibaba Cloud
?Введение в статью: В собственно боевой части этой статьи две библиотеки, MediaPipe и OpenCv, в основном используются для реализации эффекта удаленного управления, в основном включая ** удаленное управление мышью, удаленное рисование, удаленное управление громкостью и удаленное распознавание жестов** ?
1. Отображение эффекта проекта
Проект в основном делится начетыре части, соответственно
- Регулятор объема воздуха
- воздушная живопись
- Жесты распознавания воздуха
- Пневматическая мышь
Ниже приведен демонстрационный эффект этих четырех частей.
1.1: Регулятор объема воздуха
1.2: Космическая живопись
1.3: Распознавание жестов
1.4: Эмуляция мыши
2. Задействованные библиотеки
В реализации вышеуказанных приложений в основном участвуют две библиотеки
-
OpenCv
-
MediaPipe
2.1: Введение в OpenCv
OpenCV — это кроссплатформенная библиотека программного обеспечения для компьютерного зрения и машинного обучения, выпущенная под лицензией Apache2.0.
Может работать в различных операционных системах, таких как Linux, Window, Mac OS и так далее. Он легкий и эффективный — он состоит из ряда функций C и небольшого количества классов C++, предоставляет интерфейсы для таких языков, как Python, Ruby и MATLAB, и реализует множество общих алгоритмов обработки изображений и компьютерного зрения.
2.2: Введение в MediaPipe
MediaPipe — это среда разработки приложений машинного обучения для обработки потоков данных, разработанная и предоставленная Google с открытым исходным кодом.
Это конвейер обработки данных на основе графа для создания источников данных, которые используют множество форм, таких как видео, аудио, данные датчиков и любые данные временных рядов.
MediaPipe является кроссплатформенным, может работать на различных операционных системах, рабочих станциях и серверах и поддерживает ускорение мобильного графического процессора.
Используя MediaPipe, задача машинного обучения может быть построена как конвейер потока данных, представленный графом модулей, включая модели логического вывода и функции обработки потокового мультимедиа.
3. Строительство среды проекта
Среда этих приложений удобна и проста, а соответствующие библиотеки можно установить прямо в pycharm для использования. Если вы столкнулись с библиотекой, которую невозможно загрузить или время ожидания истекло, вы можете изменить источник для загрузки через pip.Это приложение написано на Python.
4. Исходный код
Приложение включает в себя много исходного кода, поэтому я не буду размещать их здесь по одному.
Студенты, которые хотят попрактиковаться, могут отправить мне личное сообщение, чтобы получить его, или щелкнуть внизу статьи, чтобы подписаться на официальный аккаунт, щелкнуть «Связаться со мной», чтобы добавить примечания.исходный кодGet Ниже приведены некоторые выдержки из ключевых частей кода.
cap = cv2.VideoCapture(0) #若使用外接摄像头 则更改为1或其他编号
cap.set(3, wCam)
cap.set(4, hCam)
pTime = 0
detector = handDetector()
success, img = cap.read()
img = detector.findHands(img)
lmList = detector.findPosition(img, draw=False)
pointList = [4, 8, 12, 16, 20]
if len(lmList) != 0:
countList = []
if lmList[4][1] > lmList[3][1]:
countList.append(1)
else:
countList.append(0)
for i in range(1, 5):
if lmList[pointList[i]][2] < lmList[pointList[i] - 2][2]:
countList.append(1)
else:
countList.append(0)
count = countList.count(1)
HandImage = cv2.imread(f'FingerImg/{count}.jpg')
HandImage = cv2.resize(HandImage, (150, 200))
h, w, c = HandImage.shape
img[0:h, 0:w] = HandImage
cv2.putText(img, f'{int(count)}', (15, 400), cv2.FONT_HERSHEY_PLAIN, 15, (255, 0, 255), 10)
5. Резюме
Вышеупомянутые четыре проекта в основном вызывают некоторые библиотеки машинного обучения для написания кода. Заинтересованные друзья могут импортировать проект и попрактиковаться на своем компьютере.
?Получить содержание статьи: Примеры в статье можно получить и передать через vx:r310623949a.
добро пожаловать друзьякак?,собирать⭐,сообщение?