Re: image processing
- From: ImageAnalyst <imageanalyst@xxxxxxxxxxxxxx>
- Date: Wed, 20 May 2009 06:00:52 -0700 (PDT)
On May 20, 5:13 am, "Sharat " <chiku241...@xxxxxxxxx> wrote:
Hello all,-----------------------------------------------------------------------------------
I am a student and currently working on a project in which i have to match a mine face image containing the ore with the standard ones in the library. For that i have to separate out different parts of the image showing different colors depicting the various ore types. I'm supposed to code this in MATLAB. I'm not able to understand how to go about extracting information like the % minerals in each ore just by looking at the image and applying the principles of Image processing and this program has to be made as automated as possible. Also, every picture contains a huge no. of pixels and computing such large volumes of data is quite cumbersome. So, please help me out with some solution.
Thanks,
Sharat
Sharat:
I'd probably start with something simple just to illustrate the
concepts and not worry about making it too accurate or robust since
this is just supposed to be a simple student project. This is one way
you could proceed.
1. examine your standard images to find the colors of the main ores.
You can use imtool or photoshop or something where you draw a region
and get the mean RGB colors. Let's say you have 10 "standard" colors:
black, yellow, white, brown, red, etc.
2. Make up a 10 by 3 array of the RGB values of the 10 colors.
3. Split your image into separate color bands to process each color
band one at a time.
4.Calculate the distance in RGB space for each pixel from each of the
standard colors: sqrt((r-rstandard)^2 + (g-gStandard)^2 + (b-bStandard)
^2). So now you'll have a Rows by Cols by 10 image. Each pixel is a
feature vector that decribes how close each pixel is to the 10
different standard colors.
5. Create an output image (a "classified" image) where each pixel has
the index of the color that it matches most closely (the smallest
distance).
6. Calculate the various area fractions for the 10 different minerals
in that image.
There are other/better ways if you want to get more involved (such as
using different color space or other classification methods such as k-
means clustering (http://www.mathworks.com/products/demos/image/
color_seg_k/ipexhistology.html)), but this may suffice. Converting to
HSV color space and calculating delta E color difference isn't much
more complicated if you want to do it one step better than the way
most other students will do it (which is probably in RGB space).
Like I said, this is just one way and not necessarily the best but it
is something that you could easily do in a few hours.
You can't get the % mineral in each ore sample since some is internal
to the ore and can't be seen. You can only give the "visible" area
fractions. If you want the true volume fraction, you'll have to apply
stereological principles (Google it - it is kind of like sampling
theory and has nothing whatsoever to do with stereoscopy) but I'm sure
this goes way beyond what is expected.
I'd need some examples to believe that your images are huge. While
you maybe used to simple MATLAB example using arrays of up to 20 rows
or columns, a typical digital image is 10 megapixels (30 megabytes) at
100 times as wide and tall as that may seem large. But even that is
not huge. You're really only getting into the huge range when you
start talking about images of hundred of megabytes, or gigabytes or
more. Some scientists (e.g. oil and gas exploration seismic data)
work on images of terabytes. I doubt you're dealing with anything
like that and I'd be very suprised if it took more than a few seconds
to analyze one of your images.
Good luck,
ImageAnalyst
.
- Follow-Ups:
- Re: image processing
- From: Sharat
- Re: image processing
- From: Sharat
- Re: image processing
- References:
- image processing
- From: Sharat
- image processing
- Prev by Date: Re: saving a figure
- Next by Date: Re: trouble with delaunay+trisurf / delaunay3+tetramesh
- Previous by thread: image processing
- Next by thread: Re: image processing
- Index(es):
Relevant Pages
|