圖像格式轉換
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函數可以將數據矩陣轉換為灰度圖像,并按照指定的區(qū)間進行灰度曲線轉換。
使用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('灰度圖');