Matlab数字图像处理——图像类型的转换

文章目录

      • 一、真彩色图像转化为灰度图像
      • 二、真彩色图像转化为索引图像
      • 三、灰度图像转换为索引图像
      • 四、索引图像转换成灰度图像
      • 五、索引图像转RGB图像
      • 六、灰度图转二值图
      • 七、数字矩阵转灰度图
    • 完整目录

Matlab数字图像处理——图像类型的转换_第1张图片

一、真彩色图像转化为灰度图像

Matlab函数:rgb2gray

>> I = imread('huoying1.jpg');
>> gray_I = rgb2gray(I);
>> figure;
>> subplot(121);imshow(I);
>> subplot(122);imshow(gray_I);

运行结果:
Matlab数字图像处理——图像类型的转换_第2张图片

二、真彩色图像转化为索引图像

需要使用到的函数:rgb2ind
由于RGB图像一个像素占用三个字节, 分别存储R、G、B分量的值,而索引图像一个像素占用一个字节。在将灰度图像转换为索引图像时, 是从3个字节映射到一个字节的关系。 通常有以下三种算法:

  • 均匀量化法
  • 最小化方差量化法
  • 均匀量化法
RGB = imread('huoying1.jpg');
[X1, map1] = rgb2ind(RGB, 64);   %最小方差量化法
[X2, map2] = rgb2ind(RGB, 0.2);  %均匀量化法
map3 = colorcube(128);
X3 = rgb2ind(RGB, map3);  %逆颜色图量化法
figure;
subplot(131);imshow(X1, map1);
subplot(132);imshow(X2, map2);
subplot(133);imshow(X3, map3);

结果展示:
Matlab数字图像处理——图像类型的转换_第3张图片

三、灰度图像转换为索引图像

Matlab函数:rgb2ind

I = imread('火影1.jpg');
gray = rgb2gray(I);

[X, map] = gray2ind(gray, 8);
subplot(121);imshow(gray);
subplot(122):imshow(X, map);

运行结果:
Matlab数字图像处理——图像类型的转换_第4张图片

四、索引图像转换成灰度图像

Matlab函数:ind2gray

由于我确实没找到合适的索引图像,所以只能自己转化了

I = imread('火影1.jpg');
[X, map] = rgb2ind(I, 64);
gray = ind2gray(X, map);
figure;
subplot(121) 
imshow(X, map);
subplot(122) 
imshow(gray);

结果展示:
Matlab数字图像处理——图像类型的转换_第5张图片

五、索引图像转RGB图像

Matlab函数:ind2rgb

I = imread('火影1.jpg');
[X, map] = rgb2ind(I, 64);
rgb = ind2rgb(X, map);
figure;
subplot(121) 
imshow(X, map);
subplot(122) 
imshow(rgb);

结果展示:
Matlab数字图像处理——图像类型的转换_第6张图片

六、灰度图转二值图

Matlab函数:im2gray

I = imread('火影1.jpg');
gray = rgb2gray(I);
bw1 = im2bw(gray, 0.4);  
bw2 = im2bw(gray, 0.6);  
figure;
subplot(131) 
imshow(gray);
subplot(132) 
imshow(bw1);
subplot(133)
imshow(bw2);

结果展示:
Matlab数字图像处理——图像类型的转换_第7张图片

七、数字矩阵转灰度图

Matlab函数:mat2gray

I = magic(256);
Img = mat2gray(I);
subplot(121)
imshow(I);
subplot(122)
imshow(Img);

结果展示:
Matlab数字图像处理——图像类型的转换_第8张图片

完整目录

Matlab数字图像处理——图像处理工具箱Image Processing Toolbox
Matlab数字图像处理——图像类型的转换
Matlab数字图像处理——图像文件的读取
Matlab数字图像处理——图像文件的显示
Matlab数字图像处理——视频文件的读写
Matlab数字图像处理——图像的像素运算(灰度变换)
Matlab数字图像处理——图像的空间变换
Matlab数字图像处理——图像的平移、邻域操作、区域选取
Matlab数字图像处理——图像增强
Matlab数字图像处理——图像复原

你可能感兴趣的:(Matlab)