how to get enhanced segmented image

1 view (last 30 days)
i used roipolyold to select the region i want.... now when i use the below code i get the segmented image and the unwanted image in blue color.... can i change the blue color to black so that i get the perfect segmented output....
ROI = ROIPOLYOLD(inputImage);
binaryImage = ROI;
fontSize=15;
structBoundaries = bwboundaries(binaryImage);
xy=structBoundaries{1};
x = xy(:, 2);
y = xy(:, 1);
outerImage = inputImage;
outerImage(~binaryImage) = 0;
leftColumn = min(x);
rightColumn = max(x);
topLine = min(y);
bottomLine = max(y);
width = rightColumn - leftColumn + 1;
height = bottomLine - topLine + 1;
segmentedImage = imcrop(outerImage, [leftColumn, topLine, width, height]);

Accepted Answer

Walter Roberson
Walter Roberson on 5 Jan 2013
The binary image is sized for one bitplane, so
outerImage(~binaryImage)
is going to only affect at most the first bitplane of outerImage. You want to have it affect all the bitplanes.
outerImage(repmat(~binaryImage, [1,1, size(outerImage,3))) = 0;

More Answers (0)

Community Treasure Hunt

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

Start Hunting!