Grain Model how to remove smaller grains

2 次查看(过去 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
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 :)

回答(3 个)

Constantino Carlos Reyes-Aldasoro
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
  1 个评论
David Harra
David Harra 2022-6-8
Hi constantino
I had a read through this but not sure how to apply this to my data. I'm not the best or imaginative when it comes to coding unfortunately.
You can access my data via this link
Grain Model and the password is matlab2022
Im not sure how else I can share my data on here.
Any Help would be appreciated.

请先登录,再进行评论。


Image Analyst
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 个评论
David Harra
David Harra 2022-6-8
I had a look at these functions but can't seem to get anything close. I will need my data for both segmented parts so I can obtain some statistics from the, The distribution of smaller grains and distribution of larger features.
Image Analyst
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
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)
Use a median filter like this
imagesc(medfilt3(MatGrid,[5 5 1]))
And that removes the small grains from the image.
  1 个评论
David Harra
David Harra 2022-6-8
Hi Constantino
Not sure if this is the correct method I would need. I think separating them rather than removing them would be better put like the example above. Once I am able to achieve this I want to do a histogram so I can get the distrubution of grains for the samll grains and like was for the larger features.
As you can notice from the example above both images would join back together like a jigsaw. I just can't seem to figure out what has been done to achive this. All my data is within the Amira file so perhaps something can be altered.
Thanks so far for the help its pushing me in the right direction :)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by