2012-05-19 4 views
0

saveas 명령을 사용하여 이미지로 여러 플롯을 저장 한 경우 어떻게 표시 할 수 있습니까? 내가 사용하고 코드의 조각이다 : 우리가 == 1 다음 플롯을 저장 한 후이 그림을 지 웁니다 경우이미지로 저장된 여러 플롯을 표시하는 방법

if we==1 
    figure() 
    saveas(gcf(),'myownfile.jpg'); % save the figure if condition is satisfied 
    clf % clear the figure after saving it 
end 

프로그램은 상태를 확인합니다. 그것의 기능의 일부. 함수에서 이미지로 저장되는 플롯은 주 기능에 표시되어야합니다. 코드는 다음과 같습니다

p=imread('myownfile.jpg');% read the image 
imshow(p); %show the image 

하지만 난 빈 그림을 얻고있다. 왜 그런지 몰라?

답변

0

다음은 해결책입니다. 도와 주셔서 감사합니다. figure() 명령을 제거하고 위의 코드에 saveas(gcf(),strcat('myownpic',strcat(int2str(m1),'.jpg'))); 명령을 추가하면 문제가 해결됩니다.

+0

이것이 해결책이라면 미래에 사람들을 도울 수있는 해답으로 표시해야합니다. – boz

0

gcf 이후에 코드에있는 ()에 문제가있을 수 있습니다.

고정 코드 :

if we==1 
    figure() 
    saveas(gcf,'myownfile.jpg'); % save the figure if condition is satisfied 
    clf % clear the figure after saving it 
end 
+0

문제는 여전히 있습니다. 이미지로 저장된 모든 플롯을 읽고 싶습니다.하지만 Matlab은 한 이미지에만 저장하고 이미지를 읽으면 빈 그림을 얻습니다. 플롯은 비디오의 프레임이며 하나씩 읽어야합니다. –

0

나는 항상 당신에게 더 많은 제어를 제공하는 대신 이후 print 명령을 사용합니다. 매트랩이 매우 어리석은 될 수 saveas(gcf,'myownfile.jpg','jpg'); : 나는이 문제에 대해 추측이 있다면

print(gcf, '-djpeg', '-r400', 'myownfile.jpg') 

당신은 당신이로 호출 할 필요가 내기 할 수 있습니다.

또 다른 가능한 문제는 렌더러 (get/set(gcf,'Renderer') 사용)입니다. 일부는 저장할 수 없습니다.

+0

나는 내 문제를 명시 적으로 설명하지 않았다고 생각한다. 나는 16 개의 그림/숫자를 생성했다. 한 그림이 완료되면 프로그램을 저장 한 후 그림이 지워지고 같은 방식으로 16자를 얻지 않는 한 프로세스가 진행됩니다. 나에 따라; 문제는 그 프로그램이 'myownfile.jpg'로 수치를 저장하지 않는다는 것입니다. 내 directory.plz에서 16 개의 파일을받는 대신 'myownfile.jpg'로 하나의 파일 만 얻습니다. 긴급한 도움이 필요해. –

+0

또한 내가 그 하나의 파일을 읽을 때 나는 빈 이미지를 얻고있다. –

+0

프로그램의보다 자세한 버전을 게시 할 수 있습니까? – bdecaf

관련 문제