
How to save the RGB image after selecting ROI of the image without affecting the original size?
2 次查看(过去 30 天)
显示 更早的评论
I am using the iamge 'peppers.png' whose size is [384*512*3]. After selecting the ROI from the image using the following code, I have saved the image as 'I1'. But the size of the new image 'I1' is [745*1072*3]. How to save the new image with size [384*512*3]? Please help.
I= imread('peppers.png');
ROI=roipoly(I); %select a close polygon
myImage=findall(gcf,'type','image');
set(myImage,'AlphaData',ROI);
saveas(gcf,'newImage.png');
I1=imread('newImage.png');
size(I1)
0 个评论
采纳的回答
Image Analyst
2019-1-21
Try this, and note that the sizes are the same:
rgbImage = imread('peppers.png');
ROI = roipoly(rgbImage); % Select a closed polygon
subplot(3, 1, 1);
imshow(rgbImage);
axis('on', 'image');
title('Original Image');
% Mask the image using bsxfun() function to multiply the mask by each channel individually.
maskedRgbImage = bsxfun(@times, rgbImage, cast(ROI, 'like', rgbImage));
whos maskedRgbImage
% Display the masked image.
subplot(3, 1, 2);
imshow(maskedRgbImage);
axis('on', 'image');
title('Masked Image');
% Save the masked image to disk.
imwrite(maskedRgbImage, 'newImage.png');
I2 = imread('newImage.png');
whos I2
% Display the image read in from disk.
subplot(3, 1, 3);
imshow(I2);
axis('on', 'image');
title('Image read In From Disk');

更多回答(2 个)
sarine_nassima
2019-1-21
the ( recognition rate= (no. of correctly identified images / Total no. of images)*100)
my probleme it's how to calculate the no. of correctly identified images???????
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Read, Write, and Modify Image 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!