Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

how to get enhanced segmented image

Asked by Elysi Cochin on 5 Jan 2013

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]);

0 Comments

Elysi Cochin

Products

No products are associated with this question.

1 Answer

Answer by Walter Roberson on 5 Jan 2013
Accepted answer

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;

1 Comment

Elysi Cochin on 5 Jan 2013

thank u sir....

Walter Roberson

Contact us