圖像格式轉換
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('灰度圖');