How to exclude the limit of ROI from boundaries detection

3 次查看(过去 30 天)
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 !

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Read, Write, and Modify Image 的更多信息

产品


版本

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by