Grain Model how to remove smaller grains
5 次查看(过去 30 天)
显示 更早的评论
I have a grain model which consists of lots of tiny grains and clusters of of larger grains. I am wondering how it is possible to separate the smaller grains from the larger grains like the example below
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1025105/image.png)
I plot my grains by reading in rectilinear coordinates via reading in an Amira file to Matlab. This lets me plot my material matrix but I have no idea how to go about separating the grains. Has anyone done something similar before? I would be more than happy to share my files if anyone can point me in the right direction.
Thanks :)
0 个评论
回答(3 个)
Constantino Carlos Reyes-Aldasoro
2022-6-8
A bit difficult to help more without the data but I think that your problem can be fixed by selecting your grains by the properties using ismember
Have a look and let us know if this solves your problem or not
Image Analyst
2022-6-8
If you have a binary image of the grains, you can use bwareaopen or bwareafilt to extract grains of a certain size.
2 个评论
Image Analyst
2022-6-8
Do you have a labeled image? Or indexed image? It looks like you do because you have separate colors for them. If you do, you can do it.
Constantino Carlos Reyes-Aldasoro
2022-6-8
Ok, I think now I understand your problem. I thought you had information on the grains themselves, but if you are starting with a grainy image, what you need to do is to filter the image. Take your original image (this one includes the title and labels as it is the one you sent)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1025605/image.png)
Use a median filter like this
imagesc(medfilt3(MatGrid,[5 5 1]))
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1025610/image.png)
And that removes the small grains from the image.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!