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

2 ビュー (過去 30 日間)
The Imagician
The Imagician 2017 年 1 月 25 日
編集済み: The Imagician 2017 年 1 月 26 日

回答 (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 Center および File ExchangeImage Data Workflows についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by