How to distinguish each fiber and analyze the properties of the fiber?
이전 댓글 표시

Hello everyone,
I am currently trying to develop a code to analyze each fiber using the Image Processing Toolbox. The image I am working with is a microscopic image of the cross section of the fiber. I tried thresholding the image, but since the single fibers have shades of light, it is extremely difficult for Matlab to distinctly define the individual fibers. The background(empty space) is also bright so there is no real distinction between parts of the fiber and the background space. When I converted the colorimg to a grayscale then to a binaryimg, the binaryimg was not recognizing the each single fiber. I am just wondering if there is a more efficent approach to analyzing this img?
The other way I believe I can alleviate this problem is if I dye the fibers so there is a better distiction between the fiber and the background light.
Thanks in advance to who helps!
Richard
댓글 수: 6
Walter Roberson
2013년 9월 6일
Is that gold image an example of what you are working with? It shows up quite small here. Are the fibres the edge around the circles?
the cyclist
2013년 9월 9일
Sorry, trying to be excruciatingly clear:
Are the fibers the disks (surrounded by circles), or the circles themselves (the edges of the disks)?
Richard
2013년 9월 9일
Walter Roberson
2013년 9월 9일
Wait, so is your original data greyscale, and you have false-colored it to gold?
Richard
2013년 9월 9일
답변 (2개)
Image Analyst
2013년 9월 9일
1 개 추천
Of course if you can get a background that is not in the black to gold/yellow spectrum you will get more contrast and be able to segment these better. For example, something in the greenish/bluish hue range (a hue diametrically opposite gold). In addition, is it possible to separate the fibers so that they aren't touching? It's always better to start with a good image than to try to fix up a bad one post-acquisition.
댓글 수: 4
Walter Roberson
2013년 9월 9일
I'm thinking "active contours"? Or watershed thresholding ?
Image Analyst
2013년 9월 9일
They have two new active contour methods ( http://www.mathworks.com/help/images/ref/activecontour.html) but I haven't had a chance to try them out yet. The touching can be solved by watershed but you have to get a binary image first and that's the tough part because the object is brighter than the background sometimes, and darker sometimes. This means that at some location it's the same as the background and some of the interior will be the same color as the background. If they were convex, you could solve that by using imconvhull(), but if they're touching that rules that out. So I'm thinking he might have to either try an edge detector, or imfindcircles(), as well as activecontour(). Solving this with images as they are will take a lot of experimentation and cleverness.
Richard
2013년 9월 10일
Image Analyst
2013년 9월 10일
Sounds like consultation with a professional microscopist would be helpful. SEM images are often even more difficult to analyze than optical images because of the monochrome, perspective/3D, shadowed nature of them, but maybe if you're looking at just cross sections it mgiht be okay.
Muthu Annamalai
2013년 9월 10일
0 개 추천
Have you tried a auto-correlation and counting the peaks? This could easily give you the number of fibers, since they all resemble each other.
카테고리
도움말 센터 및 File Exchange에서 Video Formats and Interfaces에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
