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

6 ビュー (過去 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 件のコメント
The Imagician
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.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by