Basic HandTracking in Python, OpenCV using mediapipe

Today I would like to share about tracking hands in python and opencv using mediapipe library.

Let’s take a look.

OpenCV is a tool for image processing and performing computer vision tasks. It is an open-source library that can be used to perform tasks like face detection, objection tracking, landmark detection, and much more. It supports multiple languages including python, java C++.

MediaPipe is Google’s open-source framework for media processing. It is cross-platform that can run on Android, iOS, web.

First of all, we will import required libraries in line 1 to 3.

Next, in line 6, we need to create a VideoCapture Object to capture a video from a webcam.

And if not found camera, info message is displayed in line 9.

Then in line 14 to 16, we will call the methods of MediaPipe and create a Hands() object to detect handlandmarks.

Next, in line 21, while camera is opened, we will handle hand tracking processes .

In line 22 and 23, read the images from the camera and convert the images to RGB images because we will have to pass only RGB images in hands.process(imgRGB) of line 25.

In line 26, we can get hand Landmarks easily by the help of mediapipe. If we print landmarks, we will see they are coordinates in line 27.

And we need to draw every hand landmarks by using drawing_utils of mediapipe in line 29 to 31.

And we will also show the frame rate of the camera. So we will calculate fps with cTime(current time) and pTime(previous time) by using time library in line 33 and 35. Before that, firstly cTime and pTime are also needed to assign into 0 in line 18 and 19.

Then we will write fps value on the display capture in line 37.

Finally, in line 39 and 40, we output the live capture.

There we go.

So this is all for now. For further details information, here are the reference links.

https://docs.opencv.org/4.x/d6/d00/tutorial_py_root.html

https://google.github.io/mediapipe/getting_started/python.html

Hope you enjoy that.

By Asahi



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム