matlab 数据类型转换

最近实际编程中遇到几个数据转换的问题,正好总结一下。附几个帖子。

1  matlab将uint16转换成uint8的方法

https://blog.csdn.net/a573233077/article/details/85758436

2 matlab图像类型转换以及uint8、double、im2double、im2uint8和mat2gray等说明

https://blog.csdn.net/fx677588/article/details/53301740/

3 matlab中uint8,double,im2uint8,im2double的区别

https://blog.csdn.net/wangpengfei163/article/details/51971879

附两个自己编的程序:
1 int16 tif转unit8(jpg)格式

clear all
close all
clc
[filename,pathname]=uigetfile({'*.jpg';'*bmp';'*gif'},'选择原图片');
img=imread([pathname,filename]);
i2=uint16(img);
i=im2double(i2)*10000;%转为double型
I=uint8(round(i));%将原tif格式图片转为unit8位的jpg图
figure,imshow(0.85*I);

2 single tif转为unit8(jpg)格式

clear all
close all
clc
%singel转为unit8
[filename,pathname]=uigetfile({'*.jpg';'*bmp';'*gif'},'选择原图片');
img=imread([pathname,filename]);
i=im2double(0.1*img-20);%转为double型
I=uint8(round(i));%将原tif格式图片转为unit8位的jpg图
i1(:,:,1)=I(:,:,3)-50;i1(:,:,2)=I(:,:,2)+20;i1(:,:,3)=I(:,:,1)+20;%改变色调
figure,imshow(i1);
figure,imshow(b);

你可能感兴趣的:(matlab)