How to make an image (12 bit depth) from a double matrix?

This question was flagged by DGM
  • Flagged as Duplicate by DGM on 21 Aug 2021.

    https://www.mathworks.com/matlabcentral/answers/771138-matrix-to-12-bit-image-without-pixel-information-loss?s_tid=answers_rc1-1_p1_Topic

I am running a pipeline which initially imports tif images (12-bit; 0 to 4095 pixel intensity value), converts values to doubles (it still stores original pixel values i.e. 0-4095) and finally do some processing. Afterwards I need to save them again as tif files for further processing on ImageJ, but it seems transferrring matrix data into image changes the original pixel values. I used imshow to generate an image and save it using Save As in the dropdown menu on matlab figure.
Is there a way to generate/store images from matrix without changing the original pixel values of a 12 bit image?

1 Comment

img_new = img - min(img(:)); %where img = name of your image
img_new = double(img_new)/max(img_new(:))*4095;

Answers (0)

This question is closed.

Asked:

on 12 Mar 2021

Closed:

Rik
on 21 Aug 2021

Community Treasure Hunt

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

Start Hunting!