Click here to Skip to main content
15,881,819 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I need to do a project for moving the mouse through the webcam using fingertip recognition.

I know i have to use opencv for this project but the problem is i am new to opencv and i need help in studying opencv

i dont have enough time to study entire opencv..so could someone help me by saying which are the parts of opencv i have to learn to do this project.

also i am from a java background so could someone say whether i can develop opencv code using java or would c++ be easier

thanks in advance...
Posted
Updated 14-Mar-12 1:32am
v2
Comments
nv3 14-Mar-12 7:02am    
From the first line of your question it is difficult to conclude what your project is really about, and why you would need OpenCV for it. Do you want to recognize a finger in a video image?

The first two lines of the OpenCV online documentation state:

OpenCV ... has C++, C, Python and soon Java interfaces running on Windows, Linux, Android and Mac.
Anirudh sundar 14-Mar-12 7:34am    
i've updated the question....i need to move the mouse through the webcam...

i need to knw which part of opencv i have to study to do this project...

thanks...

Here are some suggestions about how you might tackle the problem. First of all you need to decide by which criteria you want to detect a finger in the image. This decision depends mostly on the physical details of your setup. For example:

- The person might wear a thimble that is fluorescent. In a darkend room with ultra violet lighting the finger would be the brightest detail in the image and thereby easy to detect.

- Movement detection: By comparing several images that were taken in a sequence you can detect moving objects in front of a stationary background. After detecting all moving objects you want to analyze the contour of the moving parts for something that has the shape and orientation of a finger.

- In front of a simple homogeneous background you might be able to detect a hand or finger just by color and contrast.

The list of such methods is rather long and they are all more or less complex. Their implementation effort goes from a couple of days to several months or more.

After you have taken that decision it will be quite obvious for you, which functions of OpenCV you would want to use and which other you want to write yourself. If I were you, I would start reading some literature about object detection and general image processing. Things in OpenCV will come naturally to you, once you have acquired the necessary image processing know-how.

I hope that gives you some pointers on where to start.
 
Share this answer
 
Comments
Anirudh sundar 15-Mar-12 5:41am    
thanks for the suggestions...nv3..
most of your questions will get answered when you read on the project's website:

http://opencv.willowgarage.com/wiki/[^]

There are also some links to documentations and some hint's on good books about the topic - might be good to get one (company will probably pay).
 
Share this answer
 
Comments
Anirudh sundar 14-Mar-12 7:06am    
thanks...could you give me suggestions about the topics which i have to learn ... i know some of them like blobs for skin detection...

could you pls tell me what are the other things i have to study...
nv3 14-Mar-12 8:24am    
It all depends very much on the things you know about your images. The general task of finding a finger or finger tip in an arbitrary image is extremely complex. So you probably have some pre-knowledge that makes the task easier. Start from there and sketch a way of how you want to find the finger tip in your images. Then you will see what parts of OpenCV could help you to solve that task.

This forum cannot replace an education in image processing. If you have however well defined questions of how to solve a certain problem, those can probably be answered here.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900