How to identify particles in image
16 views (last 30 days)
Show older comments
I have been working on this project for quite some time and am now seeking some outside opinions. I must create a script that will identify each of the small particles. I have looked at multiple threshold techniques and not many seem to be working. For example, I tried turning it into a binary image and getting rid of noise using the function bwareaopen, but there is still a lot of noise and the imfindcircles function is being thrown off. Any fresh ideas to identify these beads would be very helpful. Accuracy is a must in this project! The small beads are the ones I'm identifying, they are the ones that have the most consistent size in the image.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/164115/image.jpeg)
0 Comments
Answers (1)
Image Analyst
on 15 May 2017
Have you tried a Bottom Hat Filter, imbothat()?
rgbImage = imread('StackOverflow#1.JPG');
subplot(2,2,1);
grayImage = rgb2gray(rgbImage);
imshow(grayImage, []);
axis on;
subplot(2,2,2);
se = strel('disk', 4, 0);
filteredImage = imbothat(grayImage, se);
imshow(filteredImage, []);
axis on;
% Histogram
subplot(2,2,3);
histogram(filteredImage, 256);
grid on;
xticks(0:16:255);
% Threshold
binaryImage = filteredImage > 40;
subplot(2,2,4);
imshow(binaryImage);
8 Comments
See Also
Categories
Find more on Geometric Transformation and Image Registration in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!