uint8 to double is converting pixel values into decimal

16 ビュー (過去 30 日間)
akash bais
akash bais 2017 年 3 月 17 日
コメント済み: akash bais 2017 年 3 月 18 日
when I convert my image which is in uint format to double the pixel matrix values are converting into decimal values
These are uint matrix of image
181 185 165 128 109 143 163 159 160 164 182 177 179 182 185 187 193 193
and these are double values of same image
0.709803921568628 0.725490196078431 0.647058823529412 0.501960784313726 0.427450980392157 0.560784313725490 0.639215686274510 0.623529411764706 0.627450980392157 0.643137254901961
why is this happening so? whats the solution

採用された回答

Image Analyst
Image Analyst 2017 年 3 月 17 日
Basically it's dividing by 255 when you use im2double(). If you don't want that, then don't do it. If you want the floating point version but the values to be the same, use double() instead of im2double().
  6 件のコメント
Image Analyst
Image Analyst 2017 年 3 月 17 日
Why is it unanswered? Look:
grayImage = uint8([181 185 165 128 109 143 163 159 160 164 182 177 179 182 185 187 193 193])
dblGrayImage = double(grayImage)
whos dblGrayImage
Look in the command window and you'll see
grayImage =
1×18 uint8 row vector
181 185 165 128 109 143 163 159 160 164 182 177 179 182 185 187 193 193
dblGrayImage =
181 185 165 128 109 143 163 159 160 164 182 177 179 182 185 187 193 193
Name Size Bytes Class Attributes
dblGrayImage 1x18 144 double
You have a double array with the very same values as the uint8 version. I thought that's what you said you wanted? What more do you want?
akash bais
akash bais 2017 年 3 月 18 日
okay got it, Thanks a lot sir :)

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by