It's using imellipse that does the job for 5 region, but only the last region is displayed. How to do for each region save to array, for each array draw it out, then for each object in array draw it out. Thanks

1 visualización (últimos 30 días)
N = 5 ;
I = imread('13170.jpg');
im = imshow(I);
for i = 1:N
e = imellipse(gca);% now pick ROI
setColor(e, 'red');
position = wait(e);
BW = createMask(e,im);% get BW mask for that ROI
BW(:,:,2) = BW;
BW(:,:,3) = BW(:,:,1);
ROI = I;
ROI(BW == 0) = 255;
end
figure(i)
imshow(ROI,'Border','tight');

Respuesta aceptada

KSSV
KSSV el 24 de En. de 2017
clc; clear all;
N = 5 ;
I = imread('junk.jpg');
iwant = cell(N,1) ;
for i = 1:N
im = imshow(I);
e = imellipse(gca);% now pick ROI
setColor(e, 'red');
% position = wait(e);
BW = createMask(e,im);% get BW mask for that ROI
BW(:,:,2) = BW;
BW(:,:,3) = BW(:,:,1);
ROI = I;
ROI(BW == 0) = 255;
iwant{i} = ROI ;
end
for i = 1:N
figure
imshow(iwant{i},'Border','tight');
end

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by