How to exclude the limit of ROI from boundaries detection

3 views (last 30 days)
Hello
A picture is better than a long speech. As you can see my function detects the edges of my ROI and conciders as a limit of my object. How to remove this (the line on the left and the right angle on the right)?
Here there is the code used :
clear all;
clc;
I = imread('Image1.PNG');
Icrop = imcrop(I);
subplot(2,2,1);
imshow(I);
title('Original Image');
subplot(2,2,2);
imshow(Icrop);
title('Cropped Image');
BW = im2bw(Icrop, graythresh(Icrop));
BW = bwareaopen(BW,50);
subplot(2,2,3);
imshow(BW);
title('Cropped BW Image');
[B,L] = bwboundaries(BW,'noholes');
subplot(2,2,4);
imshow(Icrop);
title('Crop Image with Boundaries Detected');
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'r', 'LineWidth', 2)
Thank you !

Answers (0)

Categories

Find more on Read, Write, and Modify Image in Help Center and File Exchange

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!