
How to save the RGB image after selecting ROI of the image without affecting the original size?
조회 수: 1 (최근 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!