I have the following image taken with a CMOS camera (exposure time 0.012 sec, pixel size 23.5 micrometers):

enter image description here

It shows illuminated particles as bright spots. There where the particles don't move fast they are seen as circular shaped disks.

In the lower half of the image during the expose time the particles oscillate strongly along the vertical direction and are therefore seen as vertical stripes.

How can I find as much particles as possible and how can I determine their position?

To do that I use the code below, which is only successful with non-moving particles.

background = ImageConvolve[image, GaussianMatrix[25]];

threshold = 0.008;

imageData = ImageData[image];

diffValue = ImageData[background] + threshold;

data = imageData - diffValue;

subImageData = UnitStep[data];

binImg = Image@subImageData;

binImg = DeleteSmallComponents[binImg, 10];

imageWithoutBackground = ImageMultiply[image, binImg]

coordinates = Values@ComponentMeasurementsimageWithoutBackground, "IntensityCentroid"];

Show[image, Graphics[{Red, Point[#] & /@ coordinates}]]

enter image description here

How would you find the particles?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.