No products are associated with this question.
after having read your first question ( http://www.mathworks.com/matlabcentral/answers/18789-how-to-save-an-image-displayed) I think I understand what you try to accomplish. Since you are using imfreehand, I assume you have Image Processing Toolbox.
I have written an example code that opens an image, lets you select a ROI and saves it to a new file with transparent background. have a look at it - you should now be able to do what you are looking for:
%% example code for Pramod Bhat from Jonas: % get file to be displayed [FileName,PathName] = uigetfile('*.*','Select the Image'); [img, map] = imread(fullfile(PathName,FileName));
% display image and select region f = figure; imshow(img, map); roi = imfreehand(gca); wait(roi);
% get the mask mask = roi.createMask;
% extract the boundarybox of the ROI S = regionprops(mask,'Boundingbox'); b = floor(S(1).BoundingBox);
% crop the interesting part of the image (bounding box) imgcut = img(b(2):b(2)+b(4), b(1):b(1)+b(3)); maskcut = double(mask(b(2):b(2)+b(4), b(1):b(1)+b(3)));
% finally, save the image [FileName,PathName] = uiputfile('*.png','Save the Image As'); imgcutrgb = ind2rgb(imgcut,map); % note: only what is inside of your ROI will be displayed, % the rest is set to be transparent: imwrite(imgcutrgb,fullfile(PathName,FileName),'Alpha', maskcut);
See my BlobsDemo http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862. It finds coins in an image, finds the bounding box of each coin, and then extracts (crops) each bounding box to its own image.
Play games and win prizes!Learn more