Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C#
i need some help guys. i'm doing my final research.
i'm planing to do Leaf identifier using vein system.so i don't want to use neural network.Because its too hard.so friend are u know some kind of techniqs for use my project?
its like finger print recognition.
A Framework in C# for Fingerprint Verification[^]
 

so things need to work like this.
first i give image for the system by browsing.after it need to do some grey scale conversion.after that it need to compare my data base image and browsed image.
 
please guys help me for this.
Posted 25-Jan-13 22:30pm
Comments
Sergey Alexandrovich Kryukov at 26-Jan-13 5:01am
   
Wow!
—SA

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

If this is your "final research", than do your research. Vein based identification is an emerging approach in biometric identification, and it is not as simple as you drafted: it's not just a matter of image comparison. First of all, there are several major targets, like palm, finger and even full-body based identification. On one hand the vein system is not planar (it is a 3D object), it is not constant and not static; on the other hand you have to consider the technique and the device you are using to capture the images.
But as the fingerprint recognition is based on a coding of the captured pattern (more precisely of it's specific and characteristic aspects), and the comparison is not a comparison of images but of these codes - the vein pattern recognition has just the same basic idea. But as fingerprint recognition is an old and well documented science, vein pattern recognition is new.
 
This could be a simple approach:
Let's suppose you have an image (A) .
Do a histogram correction to enhance vein visibility B=Hc(A)
Find the "color range" of the veins and suppress all other C=Cr(B)
Make a morphological skeleton detection for the veins on the enhanced image D=S(B)
Using A and B make a vectorized version of the skeleton E=V(B,D), with reduced point set
Now you have a bunch of lines.
That was the easiest part, since you need to figure out a coding technique. This is my level 0 suggestion:
Store every line with it's polar coordinate from the perimeter of the hand, and from the other lines around it. This can be the coded pattern.
 
Now, when you match the two patterns, you ca't use a discrete approach. Use some parallel approach to find the best matching candidates. Give a weight to the number of matched lines, the deviation of length of the matched lines, the deviation of the coordinates of the matched lines. So you can get a rank of the overall recognition. The higher the value, the better the recognition.
 
Of course, this can be refined considerably, so don't waste your time and look for publications in this topic. And hope you can get them from the university library...
 
AForge[^] can be a great help for you
  Permalink  
Comments
Thilantdm at 26-Jan-13 5:51am
   
friend technique and the device used to capture the images is some basic thing.so i was planning to do like this.
In white background capture leaf image.
http://www.google.lk/imgres?num=10&hl=en&safe=off&tbo=d&biw=1366&bih=643&tbm=isch&tbnid=j5YKOnAQnr9qAM:&imgrefurl=http://www.photo-dictionary.com/phrase/3414/lilac-leaf.html&docid=KHB5s9lQhG8N_M&imgurl=http://www.photo-dictionary.com/photofiles/list/3414/4541lilac_leaf.jpg&w=600&h=600&ei=-a4DUbuwO4-zrAfE1YDIBw&zoom=1&iact=hc&vpx=642&vpy=53&dur=387&hovh=145&hovw=133&tx=116&ty=104&sig=103149989270944063103&page=1&tbnh=134&tbnw=120&start=0&ndsp=25&ved=1t:429,r:4,s:0,i:170
 
so then i ll do a histogram correction to enhance vein visibility.
so i map those parts in easiest way.but this thing is too hard.friend can you understand what im saying?
but i need some technique for this.
im not sure finger print recognition system is suitable for this.
friend can you help me.i'm new to this image processing thing.but i know the scenario.
Zoltán Zörgő at 26-Jan-13 15:50pm
   
You have chosen a really complex thing. Too complex, if you find this approach too hard. Since this is a "quick answer" section: no, I can't help you further, unless you have a concrete technical question, far more concrete than: "what should I do?"...
Manfred R. Bihy at 26-Jan-13 6:55am
   
Nice answer Zoltán! Very detailed, have a fiver.
Zoltán Zörgő at 26-Jan-13 15:50pm
   
Thank you
Thilantdm at 27-Jan-13 13:39pm
   
friend please understand my situation.i know this is some tough project for me.but i want to find good technique(good algorithm)
i have one question.please reply my friend.
if i train haar cascade algorith for identify leaf vein pattern by giving 100 grey scale leafs of same plant,can it identify leaf?
does it work that way?
acctualy i need to to this research for 10 leafs(10 plant).
i know you are a expert.please dont neglect me.
Zoltán Zörgő at 27-Jan-13 14:49pm
   
As I know haar cascade is designed for face recognition. Actually it could work, if you find the proper features on the object. But I don't think the veins of a leaf can be properly extracted as feature. As I see your domain is different. As I see, you better try the neural network way. Why are you against it? You could fully rely on AForge in this task, since it has both image processing and neural network support...
Thilantdm at 28-Jan-13 21:10pm
   
no no i didnt cheat.here is the point.in my project assume i have leaf.
now doing some image binarize thing i got vein system up(convert green background to black then any leaf vein system is in white.so it ll remain as white) i have research papers related to vein system also.
same type specie leafs have same pattern vein system.
so after binarize this image i have vein system.thats the thing im going to compare.
(i have another bad situation also,can i get your email my friend? then i can tell this thing very clearly)
neural network is very hard to implement.thats why im not going to do that thing.
Zoltán Zörgő at 29-Jan-13 2:09am
   
Sorry, I don't want to interfere in your work. If you are sure you have to take this path, take it. If you don't want to use neural networks, than don't. Your project, your choice. But be aware: a pattern is not something "a priori", a feature can have a pattern. You have to identify and extract the features before being able to find the pattern in it. An image itself is rarely enough to be used directly.
Thilantdm at 29-Jan-13 8:57am
   
ok that mean you dont want to help me.atleast answer or help with this topic.can i get or find some tutorials for haar cascade algorithm?
Zoltán Zörgő at 29-Jan-13 10:00am
   
I can't do the work for you. I am pretty sure, that haar cascade won't be a good choice, but it is your choice. I suppose, you have searched the web already, but I suggest you start with this article: http://www.codeproject.com/Articles/441226/Haar-feature-Object-Detection-in-Csharp since it is focusing on what's this algorithm is about, it is using AForge as I suggested and has a running code to test and play with.
Thilantdm at 29-Jan-13 11:36am
   
ok friend thankzz :)
Thilantdm at 31-Jan-13 11:35am
   
friend Zoltán Zörgő can you help me for this?
 
if i convert my image like this.following link 4th image(strong edges one(4th image))
 

[^]
 
i store images in database like above sytem.when user upload image to our system,then system will convert image(strong edges (4th image)) then i need some kind of good algorithm for compare database image and our browsed image.can you help me for this?
Zoltán Zörgő at 31-Jan-13 12:24pm
   
Totally wrong approach. You can not compare pixel by pixel two different images (two leafs are different even from same tree!). So you either use some feature extraction or get familiar with the neural networks.
Thilantdm at 31-Jan-13 13:40pm
   
its not thing like that.first i do binarization.after im going to copmare.so still i need to use neural network?
Zoltán Zörgő at 31-Jan-13 15:53pm
   
Compare, but how?
Btw, for binarization use skeleton detection in such situations.
 
But I don't know why I am struggling with you. You have your ideas, you ask for help, but disagree with the help given. Sorry, I can't help you, since don't let me help you - you don't want my help.
 
Please, don't ask me further...
Thilantdm at 1-Feb-13 9:30am
   
can you give me neural network codes related to this? i mean not all.but give me some thing using neural network.then i can study it and do something.sorry for disturbing you.
another thing.you saying after i do binarization , i need to compare those leafs using neural network?
i'm 100% agree your system but its hard.but now im on that way.please give some help related to that

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

  Print Answers RSS
0 OriginalGriff 6,569
1 Sergey Alexandrovich Kryukov 6,168
2 DamithSL 5,228
3 Manas Bhardwaj 4,717
4 Maciej Los 4,150


Advertise | Privacy | Mobile
Web01 | 2.8.1411022.1 | Last Updated 26 Jan 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100