Create image from an Image

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

采纳的回答

Image Analyst
Image Analyst 2019-10-16
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.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by