Converting uint8 array into 32-bit

18 次查看(过去 30 天)
I have a 1280x960 uint8 array that I would like to convert into uint32. Any suggestions?
Thanks!

采纳的回答

Walter Roberson
Walter Roberson 2012-6-6
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 个评论
A
A 2012-6-6
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 2012-6-6
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"

请先登录,再进行评论。

更多回答(1 个)

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

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by