什么是 RGB 图像?
通常, 一幅 RGB 彩色图像的三个图像称为红, 绿或蓝分量图像, 分量图像的数据类决定了它们的取值范围. 一幅 RGB 图像是一个 M*N*3 的彩色像素数组, 其中每一个彩色像素是一个三值组, 这三个值分别对应一个特定空间位置处该 RGB 图像的红, 绿和蓝分量. 若一幅 RGB 图像的数据类是 double, 则它的取值范围就是 [0,1], 类似地, uint8 类或 uint16 类 RGB 图像的取值范围分别是 [0,255] 或 [0,65535]. 用来代表这些分量图像像素值的比特数决定了一幅 RGB 图像的比特深度. 例如, 若每个分量图像都是 8 比特的图像, 则对应的 RGB 图像的深度就是 24 比特. 一般来讲, 所有分量图像的比特数都是相同的. 在这种情况下, 一幅 RGB 图像可能有的色彩数就是 (2b)3, 其中 b 是每个分量图像的比特数. 对于 8 比特的例子, 颜色数即为 16777216.
什么是灰度图像?
灰度数字图像是每个像素只有一个采样颜色的图像. 这类图像通常显示为从最暗黑色到最亮的白色的灰度, 尽管理论上这个采样可以任何颜色的不同深浅, 甚至可以是不同亮度上的不同颜色. 灰度图像与黑白图像不同, 在计算机图像领域中黑白图像只有黑白两种颜色, 灰度图像在黑色与白色之间还有许多级的颜色深度. 一幅完整的图像, 是由红色, 绿色, 蓝色三个通道组成的. 红色, 绿色, 蓝色三个通道的缩览图都是以灰度显示的. 用不同的灰度色阶来表示 "红, 绿, 蓝" 在图像中的比重. 通道中的纯白, 代表了该色光在此处为最高亮度, 亮度级别是 255.
平均值法: Gray=(R+G+B)/3;
什么是索引图像?
索引图像是一种把像素值直接作为 RGB 调色板下标的图像. 索引图像可把像素值 "直接映射" 为调色板数值. 一幅索引图包含一个数据矩阵 data 和一个调色板矩阵 map, 数据矩阵可以是 uint8,uint16 或双精度类型的, 而调色板矩阵则总是一个 m*3 的双精度矩阵. 调色板通常与索引图像存储在一起, 装载图像时, 调色板将和图像一同自动装载. 索引模式和灰度模式比较类似, 它的每个象素点也可以有 256 种颜色容量, 但它可以负载彩色. 灰度模式的图像最多只能有 256 种颜色. 当图像转换成索引模式时, 系统会自动根据图像上的颜色归纳出能代表大多数的 256 种颜色, 就象一张颜色表, 然后用这 256 种来代替整个图像上所有的颜色信息.
什么是二值图像?
二值图像 (Binary Image) 是指将图像上的每一个像素只有两种可能的取值或灰度等级状态, 人们经常用黑白, B&W, 单色图像表示二值图像. 二值图像是指在图像中, 灰度等级只有两种, 也就是说, 图像中的任何像素点的灰度值均为 0 或者 255, 分别代表黑色和白色.
代码实现部分:
1,RGB 图像 -> 灰度图像
close; % 关闭当前所有图形窗口
clear; % 清空工作空间变量
clc; % 清屏
X=imread('football.jpg'); % 读取文件格式为. jpg, 文件名为 football 的 RGB 图像的信息
%%% D:\Program Files\Polyspace\R2019b\toolbox\images\imdata
I=rgb2gray(X); % 将 RGB 图像转换为灰度图像
set(0,'defaultFigurePosition',[100,100,1000,500]); % 修改图形图像位置的默认设置
set(0,'defaultFigureColor', [1 1 1]); % 修改图形背景颜色的设置
I2=histeq(I); % 提高对比度, 产生较好的对比效果
subplot(221),imshow(X); % 显示原 RGB 图像
subplot(222),imshow(I); % 显示转换后灰度图像
subplot(223),imshow(I,[60,190]); % 设置灰度上下为 [60,190] 显示该灰度图像
- subplot(224),imshow(I2);
- figure,
subplot(121),imhist(I); % 在新图中显示图像 I 的直方图
subplot(122),imhist(I2); % 均衡图像的灰度分布情况
2,RGB 图像 -> 索引图像
close; % 关闭当前所有图形窗口
clear; % 清空工作空间变量
clc; % 清屏
RGB = imread('football.jpg'); % 读取图像信息
[X1,map1]=rgb2ind(RGB,64); % 将 RGB 图像转换成索引图像, 颜色种数 N 是 64 种
[X2,map2]=rgb2ind(RGB,0.2); % 将 RGB 图像转换成索引图像, 颜色种数 N 是 216 种
map3= colorcube(128); % 创建一个指定颜色数目的 RGB 颜色映射表
X3=rgb2ind(RGB,map3);
set(0,'defaultFigurePosition',[100,100,1000,500]); % 修改图形图像位置的默认设置
set(0,'defaultFigureColor', [1 1 1]); % 修改图形背景颜色的设置
figure;
subplot(131),imshow(X1,map1); % 显示用最小方差法转换后索引图像
subplot(132),imshow(X2,map2); % 显示用均匀量化法转换后索引图像
subplot(133),imshow(X3,map3); % 显示用颜色近似法转换后索引图像
3, 灰度图像 -> 索引图像
close; % 关闭当前所有图形窗口
clear; % 清空工作空间变量
clc % 清屏
I=imread('cameraman.tif') % 读取灰度图像信息
[X,map]=gray2ind(I,8); % 实现灰度图像向索引图像的转换, N 取 8
set(0,'defaultFigurePosition',[100,100,1000,500]); % 修改图形图像位置的默认设置
set(0,'defaultFigureColor', [1 1 1]); % 修改图形背景颜色的设置
figure,imshow(I); % 显示原灰度图像
figure, imshow(X, map); % 显示 N=8 转换后索引图像
4, 索引图像 -> 灰度图像
close; % 关闭当前所有图形窗口
clear; % 清空工作空间变量
clc; % 清屏
[X,map]=imread('forest.tif');% 像信息
I = ind2gray(X,map); % 再将索引图像转换为灰度图像
set(0,'defaultFigurePosition',[100,100,1000,500]); % 修改图形图像位置的默认设置
set(0,'defaultFigureColor', [1 1 1]); % 修改图形背景颜色的设置
figure,imshow(X,map); % 将索引图像显示
figure,imshow(I); % 将灰度图像显示
5, 索引图象 ->RGB 图像
close; % 关闭当前所有图形窗口
clear; % 清空工作空间变量
clc; % 清屏
[X,map]=imread('kids.tif'); % 读取图像信息
RGB=ind2rgb(X,map); % 将索引图像转换为真彩色图像
set(0,'defaultFigurePosition',[100,100,1000,500]); % 修改图形图像位置的默认设置
set(0,'defaultFigureColor', [1 1 1]); % 修改图形背景颜色的设置
figure, imshow(X,map); % 显示原图像
figure,imshow(RGB); % 显示真彩色图像
6, 灰度图像 -> 二值图像
close; % 关闭当前所有图形窗口
clear; % 清空工作空间变量
clc; % 清屏
I=imread('rice.png'); % 读取图像信息
BW1=im2bw(I,0.4); % 将灰度图像转换为二值图像, level 值为 0.4
BW2=im2bw(I,0.6); % 将灰度图像转换为二值图像, level 值为 0.6
set(0,'defaultFigurePosition',[100,100,1000,500]); % 修改图形图像位置的默认设置
set(0,'defaultFigureColor', [1 1 1]); % 修改图形背景颜色的设置
figure;
subplot(131),imshow(I); % 显示 level=0.4 转换后的二值图像
subplot(132),imshow(BW1); % 显示 level=0.5 转换后的二值图像
subplot(133),imshow(BW2); % 显示 level=0.6 转换后的二值图像
7,RGB 图像 -> 二值图像
close; % 关闭当前所有图形窗口
clear; % 清空工作空间变量
clc; % 清屏
I=imread('pears.png'); % 读取图像信息
BW=im2bw(I,0.5); % 将 RGB 图像转换为二值图像
set(0,'defaultFigurePosition',[100,100,1000,500]); % 修改图形图像位置的默认设置
set(0,'defaultFigureColor', [1 1 1]); % 修改图形背景颜色的设置
figure,
subplot(121),imshow(I); % 显示原图像
subplot(122),imshow(BW); % 显示转换后二值图像
来源: http://www.bubuko.com/infodetail-3798849.html