How do I isolate the layers of the given grayscale image?

5 次查看(过去 30 天)

回答(1 个)

Takuji Fukumoto
Takuji Fukumoto 2017-1-25
Here it is.
I = imread('point5.jpg');
Ig = rgb2gray(I);
imtool(Ig)
BW = Ig > 118;
BW2 = BW;
ext = logical(ones(numel(BW(:,1)),1));
BW2 = [ext BW2 ext];
% BW2(:,[1 end]) = 1;
BW2 = imdilate(BW2,ones(3));
BW2 = imfill(BW2,'holes');
BW2 = imerode(BW2,ones(3));
BWout = BW2(:,2:end-1);
figure ,imshow(BWout)
  4 个评论
Image Analyst
Image Analyst 2017-1-26
Explain in detail what the imprecise terms "isolate" and "separate" mean? Do you want a masked image? One image or two? Assuming you had them, what would you do with them?
I see as many as 12 layers in that grayscale image. Which are the layers you want and what distinguishes them from the neighboring layers. Please post an annotated layer where you indicate the layers in a red outline or something.
Please answer these questions only after you read this link.
The Imagician
The Imagician 2017-1-26
编辑:The Imagician 2017-1-26
Thank you Takuji Fukumoto. That is almost what I meant. Here is the annotated image. I need to extract each of these 3 layers of the image. Using the individual layers, I would like to fit a line and find the std. deviation to its upper and lower limits (as denoted in green) across various points along the length of the layer. To answer Image Analyst, no I don't need a masked image or multiple images. I just need to be able to calculate the aforementioned values for these 3 layers. Thank you.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by