How can I count the connections between different colored particles?

5 次查看(过去 30 天)
I have a project, where I have to follow the homogeneity of a particle bed during mixing. For this, I chose the contact method: the more contacts between different colored particles, the more the bed becomes homogeneous. I already reduced the picture to 3 colors: the background is black and the two type of particles are red and white. I appreciate every answer, thank you!
  6 个评论
Guillaume
Guillaume 2018-6-28
Can you confirm that you only want to count the points of contact between different coloured particles, not the same colour.
What is the definition of a point of contact? If a red blob touches a red blob at 3 adjacent pixels, is it 3 point of contacts?
DombovariD
DombovariD 2018-6-28
Yes, I confirm that. So if two red particles touch at any number of points, it shouldn't be counted, but between a red and a white, if they connect on multiple pixels, I just want it to be counted as one contact point.

请先登录,再进行评论。

回答(2 个)

Elliott Gorman
Elliott Gorman 2018-7-10
Just an idea, but what if you checked if there are different colors, other than the red and white where particles have collided? I'm thinking, when the red and white overlap, they should amalgamate to create a pinkish color, no? Or does one particle simply overwrite the other? When they contact, I'd imagine there would be a point at which those two separate colors interact. If you could count not the incidents, but the number of times this specific range of colors (pinkish) comes up, then should that not be what you are looking for?

DombovariD
DombovariD 2018-7-11
I've found my way, however, not how I first thought. 1. convert to binary image ( im2bw ) 2. define particle size 3. filter smaller parts ( uint8(bwareaopen(BW, particlesize)) ) 4. fill in gaps, where the shadows messed up the picture ( imfill(BW1filtered,'holes') ) 5. ask for the boundaries ( bwboundaries(BW1filled); numberOfBoundaries1 = size(boundaries, 1) ) this gave me the number of boundaries found on the picture, which is perfect for me. Also, i plotted them on the original pictures (attached).
This demo helped me a lot in achieving this by Image Analyst: https://www.mathworks.com/matlabcentral/fileexchange/25157-image-segmentation-tutorial

类别

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

产品


版本

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by