:- Dhaval Palsana.
Info.: He is Master of Science Mechanical Engineering from
New York University Polytechnic School of Engineering
and Bachelor of Technology Mechatronics Engineering, GPA 3.6 and from Ganpat University, Mahesana, India
The developer of D-mouse ( A software that tracks your finger movement using webcam and convert that movement into mouse motion ).
For more Info about him and his projects go here .
1. Give us a brief into of your project Dmouse ? what does it actually do and what you are trying to actually develop ?
Initially I started this project as a ball follower robot, the one that I saw for the first time at some seminar held at Nirma University. It all came to me in 7 th semester during which I got familiar with Image processing and its basics. The one thing that helped me throughout this project was internet, I just surfed through lots of websites and created one small software which can just capture images and show it one by one on window created by MATLAB itself, but it was unmanaged code! It crashed every 50 seconds and my laptop would simply restart, it was then I understood memory usage by the software we create. Back in college I never took it seriously because at there all in need was lots of integers, characters and double integers but here the scenario was completely different, at every second my laptop was processing 5.2 MB! Once again, I mentioned here “processing” not copying data, so it took me 2 days to learn smart saving concepts of cache memory and finally reduced CPU usage from 50% to 20 % . Further I filtered my image applying by simple threshold and also tried subtracted two consecutive images in order to approximate the changes in environment the camera sees. But the results were poor with this technique, the problem is ideally it should work but practically it doesn’t !. So I thought of switching the platform as well as finding some shortcut to remove the variance in seen object in different regions of image captured by live webcam. The first one I came across was Robo realm and it was nice tool for easily prototyping and software, but thank god it was paid version and so I left this one very soon and finally settled down on OpenCV which was open source and little complicated than MATLAB, but one good thing was if you use Visual Studio or any such compiler and if you compile your project , a .exe (executanle) file would be generated which can run on any machine running Windows OS. Getting back to my ball follower project I was just waving my colored ball in front of camera and was looking for the best results trying out with different threshold values, but as an engineer you can rely on trial and error method – it was a turning point for me. So I sorted out various techniques through which my computer can automatically select the values from shown image , not to mention with little help from my keyboard click, and while designing this part of the software I wished my cursor moved as I waved my hand! This point was going to take my work into total different direction, which I never imagined. Once I again I started from zero to search various methods and commands to move mouse cursor, secondly I mapped them to my screen resolution which is not hard if you love linear equation of line! While I was designing this whole thing I was still at zero point when it comes to transferring ability of my app to other machines.
2:- On which programming language does this software is based ?
It’s based on C++ but can be ported to other languages.
3:- One can use this Dmouse software for gaming purpose or not ?
Yes and possibilities are infinite! Anyone interested can join me to code it and make something amazing!
Connect With him :-