What is the formula to convert uint8 image to double format ?

28 次查看(过去 30 天)
Hi friends, i want to convert a uint8 format image to double format.I have got command 'im2double' for that. But i want to know the basic formula for converting that.
For ex : i want to represent intensity level 256 to double format which is represented in [0 1]. please help. Thanks...

回答(3 个)

Friedrich
Friedrich 2011-8-19
Hi,
simply cast it as double and than divide by the maximum number of the datatype. In your case (uint8) its 255. So when your image is A do
double(A)/255
or more general
double(A)/intmax(class(A))
  3 个评论
Friedrich
Friedrich 2011-8-19
Yes im2double does that but Pramod asked for the basic formula. He knows about im2double.

请先登录,再进行评论。


Fangjun Jiang
Fangjun Jiang 2011-8-19
By simply dividing all the numbers by 255?
See example:
I1 = reshape(uint8(linspace(1,255,25)),[5 5])
I2 = im2double(I1)
  3 个评论
Fangjun Jiang
Fangjun Jiang 2011-8-19
What do you mean? The code I quoted is from help im2double. The OP is asking how im2double is able to convert 0~255 to 0~1. I am guessing it just divides by 255, like you guessed.
Friedrich
Friedrich 2011-8-19
My comment is related to your statement: "By simply dividing all the numbers by 255?" Simply diving is not enough you have to cast first.

请先登录,再进行评论。


Pramod Bhat
Pramod Bhat 2011-8-19
Thanks alot friends. ..). thanq. i understood.

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by