# 32 bits effect on tif images

19 views (last 30 days)
Soum on 12 Feb 2014
Edited: Ivo Marten Glück on 9 May 2020
hi;
why when I convert my gray images to 32 bits by using uint32 instruction they get 'sombre',what can I do?
my images '*.tif*' are gray with points dark 'microscopic images ',when I show them under Matlab
they appear so sombre ,this is after I converted them to Unit32.
##### 2 CommentsShowHide 1 older comment
Image Analyst on 13 Feb 2014
What does sombre mean?

Anand on 12 Feb 2014
If you're problem is that you are converting to uint32 with a direct cast like uint32(im) and then calling imshow for display, the solution is simple. Use the display range of imshow.
figure,imshow(uint32(im));title('sombre image');
figure,imshow(uint32(im),[]);title('bright image');
Ivo Marten Glück on 9 May 2020
Edited: Ivo Marten Glück on 9 May 2020
I have a very similar problem. I'm using the following code to generate a 32-bit TIFF image. I can read the resulting image into Matlab using imread, however it is not depicted correctly after opening in ImageJ and cannot be read by Adobe Illustrator. Any idea what is wrong?
heigth = round((max(y_coords)-min(y_coords))/pixel_size_image);
width = round((max(x_coords)-min(x_coords))/pixel_size_image);
im = hist3([y_coords,x_coords],[heigth width]);
imG = imgaussfilt(im, pixel_size_image/5);
figure; imshow(imG);
range = getrangefromclass(uint32(1));
I32 = uint32( imG*(range(2)-range(1)) + range(1) );
t = Tiff(strcat(SR_image_name, '.tiff'),'w');
tagstruct.ImageLength = size(I32,1);
tagstruct.ImageWidth = size(I32,2);
tagstruct.Photometric = Tiff.Photometric.MinIsBlack;
tagstruct.BitsPerSample = 32;
tagstruct.SamplesPerPixel = 1;
tagstruct.RowsPerStrip = 16;
tagstruct.PlanarConfiguration = Tiff.PlanarConfiguration.Chunky;
tagstruct.Software = 'MATLAB';
t.setTag(tagstruct)
t.write(I32);
t.close()
Many thanks!