永发信息网

怎么样读取多页tif问题

答案:2  悬赏:50  手机版
解决时间 2021-02-14 02:00
  • 提问者网友:溺爱和你
  • 2021-02-13 18:26
怎么样读取多页tif问题
最佳答案
  • 五星知识达人网友:平生事
  • 2021-02-13 19:43
在使用matlab读取多波段tif格式图像时,常常会遇到一个问题,那就是读取的图片无法显示,这可能是和图片的数据类型有关。若一幅tif格式的图片类型为uint16,则须先将其转换为uint8格式才能使用imshow显示【注意:imshow只能显示3个波段的图像,更高维度无法显示】。常用的转换函数为:im2uint8,但直接使用这个这个函数uint16转换为uint8有缺陷,其可能引起图像的失真,故需要对图像进行线性变换到[0 255]内防止产生失真。
比如,读取一幅tif图像,并用imshow在matlab中将其显示出来:
1. im=imread('D:\test.tif');
2. im=im2double(im); %将数据转换为double类型
3. im=mat2gray(im); %将im归一化到[0 1]区间内,且im中的最大值和最小值赋值为1和0
4. im=im2uint8(im); %将im扩充到[0 255]
5. figure(),imshow(im(:,:,1:3)); %显示波段1到波段3范围内的图像
全部回答
  • 1楼网友:鸽屿
  • 2021-02-13 20:08
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯