matlab加载tif影像全黑问题解决方案

  matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像。
  详细来说imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中。例如,彩色图像像素大小是400*300( 高 * 宽 ),则保存的数据矩阵为400*300*3,其中每个颜色通道值是处于0~255之间。
  简单来说就是matlab只能正确显示uint8类型的图像,而uint16的影像读入就会是全黑。那么自然,将uint16转为double再转为uint8就可以正常显示了。

img = imread('your.tif');
I1 = double(img);
I2 = uint8(I1);
imshow(I2);
imwrite(I2,'your.tif');

参考文章:matlab图像类型转换以及uint8、double、im2double、im2uint8和mat2gray等说明_matlab double转uint8_无鞋童鞋的博客-CSDN博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值