Edge/Boundary extraction from the image

조회 수: 2 (최근 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