how to save the segmented region as a separate image?

7 views (last 30 days)
I have used the code which I have found in online and divided an image into several segments. I want to extract green parts from the image and store them. I am able to display the segmented image separately with black mask. but I want to display and save the green small segmented region only as a separate image (like 9 separate .jpg images ) without black regions.
This is the code I have found in online
segmented_images = cell(1,3);
rgb_label = repmat(pixel_labels,[1 1 3]);
for k = 1:nColors
color = img;
color(rgb_label ~= k) = 0;
segmented_images{k} = color;
end
Thank you in advance.
  2 Comments
Selva Karna
Selva Karna on 28 Oct 2017
you can use
imwrite(segmented_images{k},as ur list)
Ad
Ad on 28 Oct 2017
No. That is saving the region with black part. you can see it in greenpart.jpg image. I have used imshow() instead of imwrite().

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 5 Nov 2017
First get the outline, then the bounding box and use imcrop(). Then use imwrite(). Let me know if you can't figure it out.
  7 Comments
john
john on 31 Jan 2022
Edited: john on 31 Jan 2022
Hello how do I get those things which you mentioned? Outline bounding box then crop? please could you give any reference example which is there in matlab in which this is done? @image analyst
Image Analyst
Image Analyst on 31 Jan 2022
You should click on the "Show older comments" link. Then you'd see
props = regionprops(mask, 'BoundingBox');
croppedImage = imcrop(rgbImage, props.BoundingBox);
save(croppedImage, filename);
If you need more help with your image, post a new question after reading this:

Sign in to comment.

More Answers (1)

r r
r r on 4 Aug 2018
I have a gray set of 20 images I want to convert gray to color and every time I work on the conversion colors vary I want to install the color for all images for example, The area in red color is still red in image1 but change blue in image 2 The problem: the changed the color with repeated 20 images
  1 Comment
Image Analyst
Image Analyst on 4 Aug 2018
I have no idea what you're asking. Please try to rephrase, and attach some screenshots, in a new question (not back here). Basically I think you want to use ind2rgb() and somehow want to change the colormap with each image, though I'm not sure how you're going to decide how to change the colormap each time.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!