Converting uint8 array into 32-bit

34 visualizaciones (últimos 30 días)
A
A el 6 de Jun. de 2012
I have a 1280x960 uint8 array that I would like to convert into uint32. Any suggestions?
Thanks!

Respuesta aceptada

Walter Roberson
Walter Roberson el 6 de Jun. de 2012
uint32(YourArray)
Are you also wanting to scale the values so that 255 in uint8 becomes a large value in uint32? If so then
uint32(YourArray) .* uint32(2^24)
  2 comentarios
A
A el 6 de Jun. de 2012
Hm, okay I guess that this doesn't do the operation I thought it would.
I am trying to minic the photo processing software, ImageJ. When I subtract two images (to remove the background from a file with an image), ImageJ gives me the option to "Convert 32-bit float", which emphasizes the contrast so that my resultant image is not completely black. Do you have an idea of how I can achieve this in matlab?
Please let me know if you would like to see some images to better understand what I mean, I can upload them.
Walter Roberson
Walter Roberson el 6 de Jun. de 2012
im2double() your original arrays and subtract those. The result will be double precision in the range -1 to +1. You can imagesc() to view, or add 1.0 and divide the result by 2 in order to get a matrix in the range 0 to 1 with 0.5 representing "no difference"

Iniciar sesión para comentar.

Más respuestas (1)

Thomas
Thomas el 6 de Jun. de 2012
I'm not sure maybe the type cast command will help
doc typecast
  1 comentario
Walter Roberson
Walter Roberson el 6 de Jun. de 2012
typecast would be for the case where several uint8 had to be bundled together to form a single uint32.

Iniciar sesión para comentar.

Categorías

Más información sobre Numeric Types en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by