How can i read and show a image (64*64), 2 byte integer format, and plot a profile across mid section of it?

1 vue (au cours des 30 derniers jours)
How can i read and show a image (64*64), 2 byte integer format, and plot a profile across mid section of it?
  1 commentaire
Guillaume
Guillaume le 17 Avr 2015
Modifié(e) : Guillaume le 17 Avr 2015
What do you mean by " image (64*64), 2 byte integer format"? Your image is a file of just the raw byte values of the pixels? In that case, you also need to know the number of colour channels (1 = monochrome, 3 = RGB).
Or is your image in a standard image format (PNG, BMP, or other)?

Connectez-vous pour commenter.

Réponses (1)

Guillaume
Guillaume le 17 Avr 2015
Possibly, the following may work to read the file:
img = multibandread('somefile', [64 64 1], 'uint16=>uint16', 0, 'bsq', 'ieee-le');
Replace the 1 by 3 if a colour image. You may also need to change the byteorder or the interleave option of multibandread.
Once loaded, displaying the image is just
imshow(img)
  1 commentaire
Guillaume
Guillaume le 17 Avr 2015
Modifié(e) : Guillaume le 17 Avr 2015
Akshit comment moved here: yes, i have a raw data and it's color, i used the multiband read, but it did not work.
As mentioned for a colour image replace the 1 in [64 64 1] by a 3, so [64 64 3].
As also mentioned you may need to try a different option for interleave (most likely bip) and / or for the endianness.
Without more information about your file, I can't help you more.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by