Create image from an Image

Hi, I got this image using segmentation with CNN. Is there a way I can obtain multiple images "cutting" everytime image is black? I need the blue part but separately. Thanks very much
sample

 Accepted Answer

Sum the image horizontally. Untested code:
verticalProfile = sum(rgbImage(:,:,3), 2); % Collapse across columns.
% Then find out where it's not black
nonBlackRows = verticalProfile ~= 0;
% Now find the starting and stopping points
props = regionprops(nonBlackRows, 'PixelIdxList');
% Now crop
for k = 1 : length(props)
row1 = props(k).PixelIdxList(1);
row2 = props(k).PixelIdxList(end);
imageList{k} = rgbImage(row1:row2, :, :);
end
Each image is in a cell of the cell array. They might all have different sizes.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!