MATLAB: Imwrite function for conversion issue

digital image processingimwrite

"If A is a grayscale or RGB color image of data type double or single, then imwrite assumes the dynamic range is [0,1] and automatically scales the data by 255 before writing it to the file as 8-bit values"
>>How matlab do this?

Best Answer

if isfloat(A)
temp = uint8(A * 255);
imwrite(filename, temp);
else
imwrite(filename, A);
end
Related Question