how to convert a double image into unit8 in matlab
3 次查看(过去 30 天)
显示 更早的评论
回答(3 个)
Image Analyst
2013-2-5
It really depends on how you want to do it, and if you have values outside the 0-1 range. I'll just add a third method: mat2gray(). Now, look at this demo and see how Walter's suggestion, Jan's suggestion, and mat2gray() produce 3 different uint8 matrices:
m = 5*rand(4)
maxValue = max(m(:));
m8a = round(255*m/maxValue)
m8b = im2uint8(m)
m8c = uint8(255*mat2gray(m))
m =
0.48227 2.876 4.106 3.2456
0.65987 0.2989 0.077017 3.6586
4.7103 1.1739 0.21512 3.2387
4.7807 1.7658 0.84495 2.2546
m8a =
26 153 219 173
35 16 4 195
251 63 11 173
255 94 45 120
m8b =
123 255 255 255
168 76 20 255
255 255 55 255
255 255 215 255
m8c =
22 152 218 172
32 12 0 194
251 59 7 171
255 92 42 118
So, now, which way would you like to do it?
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!