Filter löschen
Filter löschen

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

1 Ansicht (letzte 30 Tage)
The Imagician
The Imagician am 25 Jan. 2017
Bearbeitet: The Imagician am 26 Jan. 2017

Antworten (1)

Takuji Fukumoto
Takuji Fukumoto am 25 Jan. 2017
Here it is.
I = imread('point5.jpg');
Ig = rgb2gray(I);
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 Kommentare
Image Analyst
Image Analyst am 26 Jan. 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 am 26 Jan. 2017
Bearbeitet: The Imagician am 26 Jan. 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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by