matlab 灰度图像255代表,MATLAB图像uint8,uint16,double, rgb转灰度解释

1.uint8,uint16与double

为了节省存储空间,matlab为图像提供了特殊的数据类型uint8(8位无符号整数),以此方式存储的图像称作8位图像。matlab读入图像的数据是uint8,而matlab中数值一般采用double型(64位)运算。

概括:uint8,uint16--存储,显示

double---计算数据处理

2.转换

I = rgb2gray(imread(‘dog2.jpg')); %把图像变为灰度图像

f = im2double(I);  % 灰度图转double类型--数据处理,保证精度

g = im2uint8(f);    % 图像转 uint8 类型,一般不在计算中用,容易引入舍入误差

f = double(I);      %double()将无符号整型转换为双精度浮点型double,数据大小没有变化,原本数据是0~255之间,转化后还是0~255。

g = im2uint8(f);  % im2uint8()实现double转化为uint8,如果图像矩阵数据是double类型的0-255,直接im2uint8()转换的话,matlab会将大于1的数据都转换为255,0-1之间的数据才会映射到0~255之间整型的数据,所以图像会显示白色。

h = uint8(round(f));  %uint8()实现double转化为uint8

3.为什么要进行rgb转灰度?

自然界中,颜色本身非常容易受到光照的影响,rgb变化很大,反而梯度信息能提供更本质的信息

三通道转为一通道后,运算量大大减少

opencv的很多函数只支持单通道

什么时候不需要转灰度?

基于颜色的算法,颜色本身由于样本环境的特殊原因很有价值,比如医疗图像中染色剂都是红色

标签:double,uint8,灰度,matlab,图像,255

来源: https://www.cnblogs.com/xiaoyan-ipython/p/12029626.html

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值