From: Miguel Palhas Date: 2012-10-01T09:38:28+09:00 Subject: Re: image processing --20cf307f35889f738504caf49fc3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable What you want to do, particularly the "combine two images from different angles" is usually called Image Stitching, and there are some standart methods of doing this One of the must-know-about API's for this kind of image manipulation is OpenCV, which is in C/C++. I used it myself last year to do precisely Image Stitching There is a project on github that wraps it to a ruby gem. The fork with the most recent updates (about 10 days ago) is this one https://github.com/ruby-opencv/ruby-opencv However, i've never used it (just learning about it by searching about your question), so i can't tell if it's any good. But in case it's not usable for your project, you can always code the image processing code in C/C++, and integrate that in your final ruby app On Fri, Sep 28, 2012 at 3:31 PM, andrew mcelroy wrote= : > > > On Fri, Sep 28, 2012 at 9:25 AM, andrew mcelroy wrot= e: > >> >> >> On Mon, Sep 24, 2012 at 8:40 PM, Nicol=C3=B2 L. w= rote: >> >>> I'm trying to build a program meant to recognize plants by looking at a >>> picture of their leafs or similar parts. >>> >> >> I'm doing this kind of detection with animals. >> There is a ruby opencv library, but it doesn't have 100% api coverage an= d >> opencv can be a beast in its own right to install. >> >> >>> >>> The approach that I had thought to would be: >>> - create a mathematical model of the leaves to be recognized >>> - maybe use some algorithm to combine two pictures from different angle= s >>> into one with depth measurement (absolutely don't know how this is done= ) >>> - confront the elements of the picture using distance or colors with th= e >>> models in the database (basically using only the shape of the borders) >>> >> >> Stone Age. You will need a lot of samples, but there are a lot of >> algorithms you aren't even considering. >> You need to look more into Boosting, Bagging, and Stacking algorithms. >> For starters look at AdaBoost or WaldBoost algorithm. >> Also, check out Bag of Words and SIFT. >> >> >>> >>> Therefore I am looking for some good and deep guides/sources to teach m= e >>> something about this kind of "data modeling", geometrical analysis and >>> image processing. For now the best that I could find is the Camelia >>> Library (witch helps a little with colors, but I don't think will be >>> enough for the shape detection). >>> >> >> You need something like opencv. I think the library you need is >> ruby-opencv. >> It can be found on github. Follow the instructions for installing opencv >> with python first >> and build it from source. Also, you are going to want to have fftw >> library installed. >> >> As for reading material, computer vision/ machine learning for plants ha= s >> a lot of literature. >> Start using scholar.google.com and don't be afraid to ask people at >> other .edu addresses for advise. >> >> hope this helps. >> > > One more thing, brush up on your calculus, matrix algebra, statistics, an= d > trig. > You want to add the search term "deformable parts" because after all > plants leaves are not stiff. > They can twist, bend, fold, etc. You wouldn't want wind screwing up your > detection. > > >> >> Andrew McElroy >> >>> >>> >>> I'm aware that this is not a simple project, but I am willing to learn >>> and spend a good amount of months to get this started >>> >>> -- >>> Posted via http://www.ruby-forum.com/. >>> >>> >> > --=20 Cumprimentos Miguel Palhas --20cf307f35889f738504caf49fc3 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable What you want to do, particularly the "combine two images from differe= nt angles" is usually called Image Stitching, and there are some stand= art methods of doing this

One of the must-know-about API= 's for this kind of image manipulation is OpenCV, which is in C/C++. I = used it myself last year to do precisely Image Stitching

There is a project on github that wraps it to a ruby ge= m. The fork with the most recent updates (about 10 days ago) is this one=C2= =A0https://github.co= m/ruby-opencv/ruby-opencv

However, i've never used it (just learning about it= by searching about your question), so i can't tell if it's any goo= d.
But in case it's not usable for your project, you can alwa= ys code the image processing code in C/C++, and integrate that in your fina= l ruby app

On Fri, Sep 28, 2012 at 3:31 PM, andrew= mcelroy <sophrinix@gmail.com> wrote:


On Fri, Sep 28, 2= 012 at 9:25 AM, andrew mcelroy <sophrinix@gmail.com> wrote= :


On Mon, Sep 24, 2012 at 8:40 PM, Ni= col=C3=B2 L. <lists@ruby-forum.com> wrote:
I'm trying to build a program meant to recognize plants by looking at a=
picture of their leafs or similar parts.

I'm doing this kind of detection with animals.
There = is a ruby opencv library, but it doesn't have 100% api coverage and ope= ncv can be a beast in its own right to install.
=C2=A0

The approach that I had thought to would be:
- create a mathematical model of the leaves to be recognized
- maybe use some algorithm to combine two pictures from different angles into one with depth measurement (absolutely don't know how this is done= )
- confront the elements of the picture using distance or colors with the models in the database (basically using only the shape of the borders)
<= /blockquote>

Stone Age. You will need a lot of sam= ples, but there are a lot of algorithms you aren't even considering.
You need to look more into Boosting, Bagging, and Stacking=C2=A0algori= thms.
For starters look at AdaBoost or WaldBoost=C2=A0algorithm.<= /div>
Also, check out Bag of Words and SIFT.
=C2=A0

Therefore I am looking for some good and deep guides/sources to teach me something about this kind of "data modeling", geometrical analysi= s and
image processing. For now the best that I could find is the Camelia
Library (witch helps a little with colors, but I don't think will be enough for the shape detection).

= You need something like opencv. =C2=A0I think the library you need is ruby-= opencv.
It can be found on github. Follow the instructions for in= stalling opencv with python first
and build it from source. Also, you are going to want to have fftw lib= rary installed.

As for reading material, computer = vision/ machine learning for plants has a lot of literature.
Start using scholar= .google.com and don't be afraid to ask people at other .edu address= es for advise.

hope this helps.

One more thing, brush up on your calculus, = matrix algebra, statistics, and trig.
You want to add the search = term "deformable parts" because after all plants leaves are not s= tiff.
They can twist, bend, fold, etc. You wouldn't want wind screwing u= p your detection.
=C2=A0

Andrew McElroy


I'm aware that this is not a simple project, but I am willing to learn<= br> and spend a good amount of months to get this started

--
Posted via http://= www.ruby-forum.com/.






--
Cumprimentos=
Miguel Palhas

--20cf307f35889f738504caf49fc3--