Edge/Boundary extraction from the image

1 回表示 (過去 30 日間)
Turbulence Analysis
Turbulence Analysis 2021 年 6 月 1 日
編集済み: Jonas 2021 年 6 月 1 日
I am trying to extrcat the outer boundary of the image attached here. Could someone help me with how to do this is in matlab.

採用された回答

Jonas
Jonas 2021 年 6 月 1 日
編集済み: Jonas 2021 年 6 月 1 日
you can e.g. convert it to grayscale and then use the edge() function. there are many parameters you can try
after you got the binary edge image you may have a look into bwareafilt() function
  2 件のコメント
Turbulence Analysis
Turbulence Analysis 2021 年 6 月 1 日
Thanks for the suggestion, Jonas,
Let's say my real image is saved in the matrix B, I tried as shown below .
However, I couldn't able to get the desired edge profile using bwareafilt() . I have also attached B.mat for your reference. Please provide your views
% Real image to rgb conversion
rgb1 = ind2rgb(B,jet(1024));
imagesc(rgb1);
% rgb to gray conversion
grayimage = rgb2gray(rgb1);
imagesc(grayimage);
Edge = edge(grayimage, 'sobel');
imagesc(Edge);
Jonas
Jonas 2021 年 6 月 1 日
編集済み: Jonas 2021 年 6 月 1 日
i had a look into the image, maybe you try
rgb1 = ind2rgb(B,jet(1024));
redimage = rgb1(:,:,1);
imagesc(redimage);
Edge = edge(grayimage, 'sobel');
imagesc(bwconvhull(Edge));
this uses the red channel instead of gray image and forms a convex hull of the edge points
hiw exactly you may (pre)process your image depends also on where exactly is your outer bound is. is it the red part or already the yellowish part farther outside?

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by