matlab中img=255,matlab中图片数据类型转换uint8与double

matlab中处理图像像素点数据:

img1=double(imread('lenna.bmp'));

matlab中imshow图片,要先转换成uint8:

subplot(1,2,1),imshow(uint8(img1)),title('original');

subplot(1,2,2),imshow(uint8(img2)),title('after');

为了节省存储空间,matlab为图像提供了特殊的数据类型uint8(8位无符号整数),以此方式存储的图像称作8位图像。

imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中。

因此,matlab读入图像的数据是uint8,而matlab中数值一般采用double型(64位)存储和运算。所以要先将图像转为double格式的才能运算,

I64=double(I8)/255; %uint转换成double

如果不转换,计算会产生溢出。

matlab图像类型转换以及uint8、double、im2double、im2uint8和mat2gray等说明 - Thomas会写字 - CSDN博客 https://blog.csdn.net/kakiebu/article/details/78959249

1. matlab图像保存说明

matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,好处相比较默认matlab数据类型双精度浮点double(64位,8个字节),自然可以节省很大一部分存储空间。

详细来说imread把灰度图像存入一个8位矩阵,当

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值