2017-03-17 4 views
0

imcrop을 사용하여 matlab 2013a에서 이미지를 자르고 saveas 함수를 사용하여 저장합니다. 필자가 직면 한 문제는 imshow로 표시된 그림은 흰색 배경이없는 이미지 만 보여 주지만 흰색 배경은 이미지로 저장된다는 것입니다. 그 흰색 배경을MATLAB : 'saveas'함수에서 흰색 배경 제거

코드를 제거하는 도움이 필요하십니까 :

clc 
clear all 
close all 
I1=imread('IMG_1956.jpg'); 
I=imshow('IMG_1956.jpg'); 

h=imrect(gca,[0 0 270 125]); 
pause 
pos=getPosition(h); 
s=imcrop(I1,pos); 
na='IMG_1956.jpg'; 
na=na(1:end-4); 
fi=strcat(na, '_.png'); 
H=imshow(s) 
saveas(H,fi); 
+0

시도와'imwrite' https://www.mathworks.com/help/matlab/ref/imwrite.html – Yvon

+0

그것의 그림은 이미지 데이터를 가지고 있겠지 matrix –

+0

Yvon이 제안한 것처럼'imwrite'을 시도하거나 그림 창에 나타나는 것처럼 이미지를 저장해야하는 이유가 있다면 그림 크기를 채우기 위해 축 크기를 설정하십시오 –

답변

1

이것은 나를 위해 작동합니다.

I1=imread('Jellyfish.jpg'); 
I=imshow('Jellyfish.jpg'); 

h=imrect(gca,[0 0 270 125]); 
pause 
pos=getPosition(h); 
s=imcrop(I1,pos); 
na='Jellyfish.jpg'; 
na=na(1:end-4); 
fi=strcat(na, '_.png'); 
H=imshow(s) 
imwrite(s,fi); 

해결책 : imwriteH.CData 또는 s