Dear all,
In this image, there are 50 particles. I want to measure areas for each particles but when I do using ImageJ toolbar, I don't get area measurements for all particles (50). I do analyses as follows, - Analyze, then Set Scale (to set a scale) - Rectangle shape selection (to remove ruler on the image) - Edit, then clear outside (now only particles remained on the image) - Process, then Find Edges - Process, then Binary, then Make Binary - Process, then Binary, then Dilate (as images are not very clear) - Analyze, then Analyze particles, there size (mm2): 5-infinity circularity: 0-1.00 show: outlines Then, on the result sheet, I cannot see data for exactly 50 particles. Could you please advice me on this matter? Note: due to limitation for size, image attached was resized. If you want the original image, I can give you it if you will send me your email address. Thank you. Yours sincerely, Kumara PhD candidate Geotechnical Engineering Laboratory Department of Civil Engineering Yokohama National University, Japan gravels - PSD.jpg (355K) Download Attachment |
Hi Kumara,
your example looks very difficult to analyze. Some shadows are too sharp to distinguish them from true particles, and shadows have different orientations, so one can't get rid of the shadows. Why not use better illumination? Probably very diffuse illumination from all sides, mainly around the camera, would be best. Also, a background with a color clearly different from that of any particles would help a lot. On a very dark (black) background, the shadows won't be a problem. Michael ________________________________________________________________ On 20 Jun 2011, at 12:48, janaka kumara wrote: > Dear all, > > In this image, there are 50 particles. I want to measure areas for > each particles but when I do using ImageJ toolbar, I don't get area > measurements for all particles (50). I do analyses as follows, > > - Analyze, then Set Scale (to set a scale) > - Rectangle shape selection (to remove ruler on the image) > - Edit, then clear outside (now only particles remained on the image) > - Process, then Find Edges > - Process, then Binary, then Make Binary > - Process, then Binary, then Dilate (as images are not very clear) > - Analyze, then Analyze particles, there > size (mm2): 5-infinity > circularity: 0-1.00 > show: outlines > > Then, on the result sheet, I cannot see data for exactly 50 particles. > > Could you please advice me on this matter? > > Note: due to limitation for size, image attached was resized. If > you want the original image, I can give you it if you will send me > your email address. > > Thank you. > > Yours sincerely, > Kumara > > PhD candidate > Geotechnical Engineering Laboratory > Department of Civil Engineering > Yokohama National University, Japan<gravels - PSD.jpg> |
In reply to this post by janaka kumara
Hi,
To get exactly 50 particles you need to perform a perfect segmentation... quite difficult... though, try to remove shadows from your images by providing a better light source. As you can see, there are many shadows on it, and as they are dark, stones close to others might be taken as just one. You can place a perpendicular light source, or several of them, so lighting will be the same (or at least closer to be the same) for the whole surface, so the background can be thresholded easier at the same time you avoid to take groups of particles as single big ones. For human eye it's clear where the particles are, but computer vision algorithms are not so smart ;) After that, I'd use some adaptative thresholding method. Have a look to the histogram and you'll see two peaks, if you threshold in the middle of them you'll separate your particles from the backgorund. Some algorithms detect those peaks and threshold at the most convenient value, so small light variations don't affect so much and they work much better than thresholding always at the same value. For now, just try to improve your images lighting and then we'll see which algorithms work better :) Sincerelly, Juanjo. On Jun 20, 2011, at 12:48 PM, janaka kumara wrote: > Dear all, > > In this image, there are 50 particles. I want to measure areas for each particles but when I do using ImageJ toolbar, I don't get area measurements for all particles (50). I do analyses as follows, > > - Analyze, then Set Scale (to set a scale) > - Rectangle shape selection (to remove ruler on the image) > - Edit, then clear outside (now only particles remained on the image) > - Process, then Find Edges > - Process, then Binary, then Make Binary > - Process, then Binary, then Dilate (as images are not very clear) > - Analyze, then Analyze particles, there > size (mm2): 5-infinity > circularity: 0-1.00 > show: outlines > > Then, on the result sheet, I cannot see data for exactly 50 particles. > > Could you please advice me on this matter? > > Note: due to limitation for size, image attached was resized. If you want the original image, I can give you it if you will send me your email address. > > Thank you. > > Yours sincerely, > Kumara > > PhD candidate > Geotechnical Engineering Laboratory > Department of Civil Engineering > Yokohama National University, Japan<gravels - PSD.jpg> ------------------------------------------------------------ Juanjo Vega ([hidden email]) Unidad de Biocomputación. Laboratorio B-13. Centro Nacional de Biotecnología. CNB-CSIC. C\ Darwin, 3. Campus de Cantoblanco. Universidad Autónoma de Madrid. 28049, Madrid, Spain. http://www.cnb.csic.es http://www.biocomp.cnb.csic.es +34 91 585 4510 "Las mejores almas son capaces de los mayores vicios como de las mayores virtudes, y aquellos que caminan despacio por el camino recto pueden llegar más lejos que los que corren pero se apartan de él." - Discurso del Método, René Descartes. |
In reply to this post by janaka kumara
Kumara,
I would recommend back-lighting with a light-box as used to view 35mm slides. Example here: http://www.bhphotovideo.com/c/product/194987-REG/Hakuba_KLV_5700_5_x_7_Lightviewer.html This will give a shadow free image which is simple to threshold. The size you will measure is the "obscured" area and will depend on how the rocks are positioned/rotated on the surface, think of a coin either flat down or on edge. John On Mon, Jun 20, 2011 at 6:48 AM, janaka kumara <[hidden email]> wrote: > Dear all, > > In this image, there are 50 particles. I want to measure areas for each particles but when I do using ImageJ toolbar, I don't get area measurements for all particles (50). I do analyses as follows, > > - Analyze, then Set Scale (to set a scale) > - Rectangle shape selection (to remove ruler on the image) > - Edit, then clear outside (now only particles remained on the image) > - Process, then Find Edges > - Process, then Binary, then Make Binary > - Process, then Binary, then Dilate (as images are not very clear) > - Analyze, then Analyze particles, there > size (mm2): 5-infinity > circularity: 0-1.00 > show: outlines > > Then, on the result sheet, I cannot see data for exactly 50 particles. > > Could you please advice me on this matter? > > Note: due to limitation for size, image attached was resized. If you want the original image, I can give you it if you will send me your email address. > > Thank you. > > Yours sincerely, > Kumara > > PhD candidate > Geotechnical Engineering Laboratory > Department of Civil Engineering > Yokohama National University, Japan |
In reply to this post by janaka kumara
Image segmentation seems to be a big problem. I am almost finished with a segmentation plugin that should help universally solve the problem.
Until then, however, like others have mentioned, you could change the lighting. Here is my best attempt at trying to segment this image using the "standard tools" available in imageJ. I cropped the image and inverted the colors to make it easy to work with. 1) Process->Subtract Background->Rolling Ball 2) Image Calculator (original image - duplicate image with 250 mean blur = image used in next step) 3) Guassian blur of 2 4) Autothreshold/binarize 5) Watershed 6) Particle Analyzer
|
Free forum by Nabble | Edit this page |