imwrite saving image file without extension even after specifying the extension.
조회 수: 8 (최근 30일)
이전 댓글 표시
original= iin;
for hsize=3:2:9
for sigma=0.5:0.5:2
close all;
file1 =sprintf('Intern_log_plot%d_hsize=%d_sigma=%.1f',n,hsize,sigma);
file2 =sprintf('Intern_log%d_hsize=%d_sigma=%2f',n,hsize,sigma);
s1=sprintf('%s%s%s%d%s%s',image_folder,l,filenames(n).name,n,l,file1);
s2=sprintf('%s%s%s%d%s%s',image_folder,l,filenames(n).name,n,l,file2);
h=fspecial('log',hsize,sigma);
pic=imfilter(original,h);
figure;
subplot(2,2,1);
imshow(original);title('Raw Image');
subplot(2,2,2);
imshow(pic);title('Output');
colormap('default');
h=gcf;
saveas(h,s1,'jpg');
imwrite(pic,s2,'jpg');
The imwrite function writes the file to the disk as files without any extension(so the image file is not detected by image viewer softwares), with the format being already specified as 'jpg' in the imwrite function.
댓글 수: 0
채택된 답변
Michael Haderlein
2014년 7월 31일
The file extension will not be added if you already provide a file extension in the filename. As you have dots (.) in your filename, everything after the dot will be seen as a file extension. If you add the file extension in your filename (you can add .jpg in your sprintf formats), it will work.
댓글 수: 5
추가 답변 (1개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!