OpenCV is a huge open-source library for computer vision, machine learning, and image processing. OpenCV supports a wide variety of programming languages like Python, C++, Java, etc. It can process images and videos to identify objects, faces, or even the handwriting of a human. When it is integrated with various libraries, such as Numpy which is a highly optimized library for numerical operations, then the number of weapons increases in your Arsenal that is whatever operations one can do in Numpy can be combined with OpenCV.
Arduino is an open-source platform used for building electronics projects. Arduino consists of both a physical programmable circuit board (often referred to as a microcontroller) and a piece of software, or IDE (Integrated Development Environment) that runs on your computer, used to write and upload computer code to the physical board.
For starting the project we are required to make a mechanical hand having five fingers and connecting servo motors in way that each finger moves freely without any problem.
Then we will connect the hardware part(servo motor) with Arduino board, we will use pin configuration as:
Servo for Thumb = 7
Servo for Index finger = 9
Servo for Middle finger = 11
Servo Ring finger = 8
Servo Small finger = 10
We will make a PCB for connecting ground, +5v, and 5 signal wire to Arduino board to make the connections look clean.
We will program Arduino in a way that when starting with ‘$’ sign and write finger state number of all finger in serial monitor the program will give output accordingly.
‘1’ denotes finger in open state and ‘0’ denotes finger in closed state.
Now for computer vision part we are required to download PyCharm software and install all the required libraries and packages to run OpenCV and gesture controls.
In the part of code we will be opening the camera using python code and we will be using gesture control package to detect our hands and give its landmarks.
We will give input from camera of our hand movement and it will be a input for Arduino code as “$xxxxx” where ‘x’ can either be ‘1’ or ‘0’.
We will be using laptop camera to detect the images. We will be using PyCharm software for making the project. We will be using CPU for this purpose. We will install all the packages required to run the program and get hand detection, hand landmarks, OpenCV, and image processing. We will be detecting the hand using camera and making computer know the position of hand and fingers, for open finger we have taken ‘1’ and for closed finger ‘0’.
The camera will detect only one hand and if other hand is captured then the program will ignore other hand.
The Arduino program will run servo motors which will move the robotic fingers and these all will work on input of camera image processed according to program.
Application and Future Prospects
This project help us to control mechanical robotic hand using physical finger gestures which is captured by camera, we can further improve this project of controlling fingers remotely by introducing IOT in this.
We can also use these automated hands in factories/ work area which is hazardous for humans as this hand can move same as human hand at those places.
Some of other application of OpenCV may include:
• Automated inspection and surveillance.
• Robot and driver-less car navigation and control.
• Medical image analysis.
• Video/image search and retrieval.
• Movies - 3D structure from motion and many more.OpenCV libraries used
Comments
Post a Comment