How to identify particles in image
14 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(1 个)
Image Analyst
2017-5-15
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 3-D Volumetric Image Processing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!