Image resizing and saving using imwrite

17 Ansichten (letzte 30 Tage)
kunal bhandari
kunal bhandari am 27 Apr. 2012
Kommentiert: Image Analyst am 14 Apr. 2014
hi...i need to resize the images to 512x512 and then save the image....m using imwrite to save but it saving it as blank images...my code is as below...plz help asap..
a=imread('1.jpg');
b=double(a)+1; %converting uint to double
c=imresize(b, [512 512]);
imwrite(c,'1f.jpg');
figure,imshow(a,[]);
figure,imshow(c,[]);
  2 Kommentare
Jan
Jan am 14 Apr. 2014
@Horia: setting a flag is though to inform the admins about a question which conflicts with the terms of conditions. So please remove this flag and post a new question instead. Thanks.
Image Analyst
Image Analyst am 14 Apr. 2014
I moved it.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan
Jan am 27 Apr. 2012
If you work with images in DOUBLE format, limit the values to the interval [0, 1]. Therefore prefer IM2DOUBLE instead of double(a)+1.
  4 Kommentare
Jan
Jan am 13 Apr. 2014
@Horia: I do not agree. Converting to logical can work for black&white images only. For color images working in the DOUBLE format is sufficient, when you call imwrite with the correct inputs. If you have troubles, please post the corresponding code and the used type of the inputs.
Image Analyst
Image Analyst am 14 Apr. 2014
Horia's "Flag" moved here:
I had to use: Convert grayscale to binary MyBinary = (MyGray > 0.5); when trying to resize a transparent .gif image. Otherwise (with double(imread(('image.gif'))), I had a correct image with imshow, but imwrite('...','TransparentColor',1) saved a totally black transparent image.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 27 Apr. 2012
Don't convert to double. jpg images expect uint8 values.
  3 Kommentare
kunal bhandari
kunal bhandari am 27 Apr. 2012
converting to double is necessary for my further prgms...i have tried saving in other formats also but with the same result...
Image Analyst
Image Analyst am 27 Apr. 2012
If you want to save double images and will use them only in MATLAB, then I recommend saving them as a .mat file. If you want a visualization so that you can see them in other programs, like a jpg file, then use 255 * mat2gray() to scale to 0-255 before saving in a standard format like BMP, TIF, PNG, JPG, etc.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by