多语言展示
当前在线:1436今日阅读:176今日分享:34

图像格式转换

工程应用中在对图像进行处理过程中,有时候会对图像的格式,图像的类型有要求,如真彩图,灰度图,二值图等等,Matlab提供了很多图像类型转换的函数,利用这些函数来对图像格式进行处理,本节主要对这些图像类型转换进行介绍:
工具/原料
1

图像格式

2

matlab

方法/步骤
1

dither函数,用于实现图像的抖动,其调用格式如下:       X=dither(RGB,map);将真彩图的颜色图索引图       X=dither(I);将灰度图转换成二值图示例:利用dither将灰度图抖动成二值图编写对应的m文件如下:       clear all;       I=imread('coins.png');       bw=dither(I);       subplot(1,2,1)       imshow(I);       title('原始灰度图')       subplot(1,2,2)       imshow(bw);       title('二值图');程序运行结果如下图:

2

im2bw函数设定阀值,将RGB(真彩图),I(灰度图),X(索引图)转化为二值图,对应函数的调用格式如下:      BW=im2bw(X,map,level);      BW=im2bw(I,level);      BW=im2bw(RGB,level);示例:将真彩图转换为二值图编写对应的m文件如下:      RGB=imread(‘peppers.png’);      BW=im2bw(RGB,0.6);      subplot(1,2,1)      imshow(RGB);      title('原始真彩图');      subplot(1,2,2)      imshow(BW);      title('利用阈值转换为二值图');程序运行结果如下图:

3

mat2gray函数将数据矩阵转换为灰度图像,其对应的调用格式如下:I=mat2gray(A,[max,min]):按照指定的区间将数据矩阵A转换为灰度曲线:示例:利用mat2gray函数将矩阵数据转换为灰度图编写对应的m文件如下:      I=imread(‘tire.gif’);     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函数将灰度图转换为索引图,其对应的调用格式如下:       [X,map]=gray2ind(I,n);n表示灰度级,默认为64;示例:利用gray2ind函数将灰度图转换为索引图编写对应的m文件如下:      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函数分别表示将索引图转换为灰度图,真彩图,其调用格式如下:       I=ind2gray(X,map);       RGB=ind2rgb(X,map);示例:利用ind2gray函数,ind2rgb函数将索引图分别转换为灰度图和真彩图 编写对应的m文件如下:      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函数分别表示将真彩图转换为灰度图和索引图,其对应调用格式如下:       I=rgb2gray(RGB);       [X,map]=rgb2ind(RGB,N);N表示map中的颜色项数示例:将一幅真彩图转换为索引图编写对应的m文件如下:      clear all;      RGB=imread('peppers.png');      I=rgb2gray(RGB);      subplot(1,2,1)      imshow(RGB);      title('原始真彩图');      subplot(1,2,2)      imshow(I);    title('灰度图');程序运行结果如下图:

推荐信息