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

2 visualizaciones (últimos 30 días)
The Imagician
The Imagician el 25 de En. de 2017
Editada: The Imagician el 26 de En. de 2017

Respuestas (1)

Takuji Fukumoto
Takuji Fukumoto el 25 de En. de 2017
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 comentarios
Image Analyst
Image Analyst el 26 de En. de 2017
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 el 26 de En. de 2017
Editada: The Imagician el 26 de En. de 2017
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.

Iniciar sesión para comentar.

Categorías

Más información sobre Image Data Workflows en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by