图像格式转换
1. dither函数 在工程应用中,对图像进行处理时,往往需要对图像的格式和类型进行转换。Matlab提供了许多图像类型转换的函数,其中之一是dither函数。该函数可以将真彩图转换为颜色图索引图
1. dither函数
在工程应用中,对图像进行处理时,往往需要对图像的格式和类型进行转换。Matlab提供了许多图像类型转换的函数,其中之一是dither函数。该函数可以将真彩图转换为颜色图索引图,也可以将灰度图转换为二值图。
使用dither函数的调用格式如下:
X dither(RGB, map); X dither(I);
示例:通过dither函数将灰度图抖动成二值图。
clear all;
I imread('');
bw dither(I);
subplot(1,2,1)
imshow(I);
title('原始灰度图')
subplot(1,2,2)
imshow(bw);
title('二值图');
2. im2bw函数
im2bw函数用于将RGB(真彩图)、I(灰度图)或X(索引图)转化为二值图。函数的调用格式如下:
BW im2bw(X, map, level); BW im2bw(I, level); BW im2bw(RGB, level);
示例:将真彩图转换为二值图。
RGB imread('');
BW im2bw(RGB,0.6);
subplot(1,2,1)
imshow(RGB);
title('原始真彩图');
subplot(1,2,2)
imshow(BW);
title('利用阈值转换为二值图');
3. mat2gray函数
mat2gray函数可以将数据矩阵转换为灰度图像,并按照指定的区间进行灰度曲线转换。
使用mat2gray函数的调用格式如下:
I mat2gray(A, [max,min]);
示例:将矩阵数据转换为灰度图。
I imread('');
A filter2(fspecial('sobel'),I);
B mat2gray(A);
subplot(1,3,1)
imshow(I);
title('原始图像');
subplot(1,3,2)
imshow(A);
title('矩阵数据图像');
subplot(1,3,3)
imshow(B);
title('矩阵数据转换为灰度图');
4. gray2ind函数
gray2ind函数可以将灰度图转换为索引图。函数的调用格式如下:
[X,map] gray2ind(I,n);
n表示灰度级,默认为64。
示例:将灰度图转换为索引图。
clear all;
I imread('tire.tif');
[X,map] gray2ind(I,64);
subplot(1,2,1)
imshow(I);
title('灰度图');
subplot(1,2,2)
imshow(X,map);
title('索引图');
5. ind2gray函数和ind2rgb函数
ind2gray函数可以将索引图转换为灰度图,ind2rgb函数可以将索引图转换为真彩图。
使用ind2gray函数和ind2rgb函数的调用格式如下:
I ind2gray(X,map); RGB ind2rgb(X,map);
示例:将索引图分别转换为灰度图和真彩图。
clear all;
load trees;
I ind2gray(X,map);
RGB ind2rgb(X,map);
subplot(1,3,1)
imshow(X,map);
title('原始索引图');
subplot(1,3,2)
imshow(I);
title('灰度图');
subplot(1,3,3)
imshow(RGB);
title('真彩图');
6. rgb2gray函数和rgb2ind函数
rgb2gray函数可以将真彩图转换为灰度图,rgb2ind函数可以将真彩图转换为索引图。
使用rgb2gray函数和rgb2ind函数的调用格式如下:
I rgb2gray(RGB); [X,map] rgb2ind(RGB,N);
N表示map中的颜色项数。
示例:将一幅真彩图转换为索引图。
clear all;
RGB imread('');
I rgb2gray(RGB);
subplot(1,2,1)
imshow(RGB);
title('原始真彩图');
subplot(1,2,2)
imshow(I);
title('灰度图');