Image/Pattern Recognition

Hey folks,

I have a project I’m trying to work out the feasibility of being able to
do - I want to process images that consist of a grid of squares
containing symbols, and I want to be able to break down the grid so that
the program can work out how many of each symbol there are and where it
is on the grid. Not sure if this is something that’s going to be do-able
from what I’ve googled! Does RMagick or any of the gems have a possible
solution to this?

Hope that makes some sense!
Becky

2009/2/27 Becky F. [email protected]:

Hey folks,

I have a project I’m trying to work out the feasibility of being able to
do - I want to process images that consist of a grid of squares
containing symbols, and I want to be able to break down the grid so that
the program can work out how many of each symbol there are and where it
is on the grid. Not sure if this is something that’s going to be do-able
from what I’ve googled! Does RMagick or any of the gems have a possible
solution to this?

You can use get_pixels (
http://www.imagemagick.org/RMagick/doc/image2.html#get_pixels ) for
getting pixels in a region and store_pixels for (yes, you guessed it)
store pixels in a image.

Regards,

Serabe

Serabe wrote:

2009/2/27 Becky F. [email protected]:

Hey folks,

I have a project I’m trying to work out the feasibility of being able to
do - I want to process images that consist of a grid of squares
containing symbols, and I want to be able to break down the grid so that
the program can work out how many of each symbol there are and where it
is on the grid. Not sure if this is something that’s going to be do-able
from what I’ve googled! Does RMagick or any of the gems have a possible
solution to this?

You can use get_pixels (
http://www.imagemagick.org/RMagick/doc/image2.html#get_pixels ) for
getting pixels in a region and store_pixels for (yes, you guessed it)
store pixels in a image.

Regards,

Serabe

Wow that’s pretty simple! Gotta love Ruby :o) Thanks so much for the
quick response :o)

BTW, you can use import_pixels and export_pixels too.

Regards,

Serabe

Serabe wrote:

Becky F.:

getting pixels in a region and store_pixels for (yes, you guessed it)
store pixels in a image.

That is as far from pattern recognition as atoms are from elephants!

Becky needs to google for “chain code”. I really doubt a Ruby
implementation is
available, because the algorithms to do it in less than polynomial time
are secret.

2009/2/27 Phlip [email protected]:

That is as far from pattern recognition as atoms are from elephants!

Becky said that images consist of a grid of squares. I just pointed
him that RMagick has some methods for retrieve and store pixels. I
know it is not pattern recognition, but at least, he is one step
closer now.

Regards,

Serabe

On Feb 27, 9:56 am, Becky F. [email protected] wrote:

Hope that makes some sense!
Becky

Posted viahttp://www.ruby-forum.com/.

Haven’t used it but the camellia Image processing library looks like
it might be useful
http://camellia.sourceforge.net/index.html

Cheers
Chris

Thanks so much for the responses folks they’ve been so helpful!

I think with a load of maths I can iterate through each of the squares
in the grid as it will only be black and white - unless Camellia or
RMagick have any sort of compare pixels functionality?

Becky F. wrote:

Thanks so much for the responses folks they’ve been so helpful!

I think with a load of maths I can iterate through each of the squares
in the grid as it will only be black and white - unless Camellia or
RMagick have any sort of compare pixels functionality?

Looks like find_similar_region might be what I’m looking for - love this
language!

2009/2/27 Becky F. [email protected]:

Thanks so much for the responses folks they’ve been so helpful!

I think with a load of maths I can iterate through each of the squares
in the grid as it will only be black and white - unless Camellia or
RMagick have any sort of compare pixels functionality?

Here:

http://www.imagemagick.org/RMagick/doc/struct.html#Pixel

Take a look at <=> and fcmp methods.

Regards,

Serabe