MATLAB学习记录一
一、图像基本处理和基本类型转换
1.索引图像
索引图像是一种把像素值直接作为RGB调色板下标的图像,把像素值“直接映射”为调色板数值,一幅索引图包含一个数据矩阵data和一个调色板矩阵map,数据矩阵可以是uint8,uint16或双精度类型的,而调色板矩阵则总是一个m×3的双精度矩阵。调色板通常与索引图像存储在一起,装载图像时,调色板将和图像一同自动装载。
%索引图像转化为RGB图像
[X,map]=imread('test.tif','tif'); %读取索引图像,X是数据,map是调色板
RGB=ind2rgb(X,map); %将索引图像转换为RGB图像
figure;
inshow(RGB); %显示RGB图像
set(gcf,'position',[500,500,600,600]); %设置显示格式
%RGB图像转化为索引图像
RGB=imread('test.jpg'); %读取RGB图像
[X,map]=rgb2ind(RGB,12); %将RGB图像转换为索引图像,调色板大小12行,这值越大越清晰
figure;
imshow(X,map);
set(gcf,'position',[400,400,600,600]);
2、灰度图像
灰度数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑白两种颜色,灰度图像在黑色与白色之间还有许多级的颜色深度。
%索引图像转换为灰度图像
[X,map]=imread('test.tif','tif'); %读取索引图像
newmap=rgb2gray(map); %索引图像转换为灰度图像,只将调色板转换为灰度,新的调色板数据不变
figure;
imshow(X,newmap);
set(gcf,'position',[400,400,600,600]);
%将索引图像转换为灰度图像
[X,map]=imread('test.tif','tif'); %读取索引图像
I=rgb2gray(X,map); %将索引图像转换为灰度图像
figure;
imshow(I);
set(gcf,'position',[400,400,600,600]);
%将灰度图像装换为索引图像
X=imread(test.jpg); %读取一个灰度图像
Y=grayslice(X,12); %将灰度图像转换为索引图像
figure;
imshow(Y,jet(12)); %通过调色板jet给图像上色
set(gcf,'position',[400,400,600,600]);
3、二值图像
二值图像(Binary Image)是指将图像上的每一个像素只有两种可能的取值或灰度等级状态,人们经常用黑白、B&W、单色图像表示二值图像。二值图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素点的灰度值均为0或者255,分别代表黑色和白色。
%RGB图像转换为二值图像
RGB=imread('test.jpg');
bw=im2bw(RGB,0.4); %归一化阈值是0.4
figure;
imshow(bw);
set(gcf,'position',[400,400,500,600]);