MATLAB图像处理(一)

初学MATLAB图像处理(一)

了解MATLAB图像类型

了解相关颜色模型

前言

随着机器人专业的不断发展,计算机视觉与图像识别课程显得格外重要,本文主要介绍利用MATLAB软件进行图像处理。ps:因为每个图像都是有N个像素点构成,又可看成矩阵,而MATLAB正是矩阵处理软件。小哥是一名大二的普通学生,我发表文章的目的是帮助自己学习,并且为像我一样想学习正方面知识的童鞋一些知识点,有些地方略有不好,请大神们指出谅解!

一、图像类型

(1)二值图像
二值图像(Binary Image)是指将图像上的每一个像素只有两种可能的取值或灰度等级状态(0,1),人们经常用黑白、B&W、单色图像表示二值图像。

就是类似这种图像数据(里面有二值 0 1),小哥代码里生成的是256256的数据表,因为55的图像太小不利于展示;
MATLAB图像处理(一)_第1张图片
让我们通过以下代码来展示这张图片 内联代码片

clear all;
BW=rand(256,256);%生成一个256行256列的自定义矩阵
BW_1=BW>0.5;%进行判断,大于0.5的变成1,小于0.5的编程0即生成0 1矩阵
imshow(BW_1)

结果为:
0表示黑色,1表示白色MATLAB图像处理(一)_第2张图片
(2)灰度图像
灰度图像是包含灰度级(亮度)的图像。其特点是:
①灰度图像的存储文件包含颜色查找表,且改颜色表有256项,每一项由红、绿、蓝三个颜色分量,但灰度图中R G B 三分量是相等的,所以在MATLAB中展示的是一维矩阵。
②每个像素的取值范围是0-256,即2^8,颜色深度为8;

下面我们通过代码来展示一下。下面展示一些 内联代码片

clear all;
GRAY=rand(256,256);**%生成一个256行256列的自定义矩阵**
GRAY_1=255*(BW>0.5)进行判断,大于0.5的变成1,小于0.5的编程0即生成0 1矩阵,之后乘以255
imshow(GRAY_1)

(0代表黑,255代表白)MATLAB图像处理(一)_第3张图片
(3)真色彩图像
真色彩图像具有丰富的颜色数

特点:它的每个像素有R G B 三个分量组成,即我们所说的三维图像。其每个分量的取值范围为0-255。

下面我们以导入一张的图片形式,来了解三维到底什么意思。这里面会用到 imread(‘文件地址’)函数,具体imread()函数需要大家去搜索了解。
下面展示一些 内联代码片

clear
apple=imread('3.jpg');
subplot(2,2,1),imshow(apple),xlabel('原图');
R_apple=apple(:,:,1); %% R分量提取
G_apple=apple(:,:,2); %% G分量提取
B_apple=apple(:,:,3); %% B分量提取
subplot(2,2,2),imshow(R_apple),xlabel('R提取图');
subplot(2,2,3),imshow(G_apple),xlabel('G提取图');
subplot(2,2,4),imshow(B_apple),xlabel('B提取图');

结果图:MATLAB图像处理(一)_第4张图片
下图是由250*352个像素组成的三维矩阵
在这里插入图片描述
看下图可让你更明白。
MATLAB图像处理(一)_第5张图片

二、颜色模型

颜色模型是为了不同的研究目的确立了某种标准,并按这个标准用基色表示颜色。一般情况下﹐一种颜色模型用一个三维坐标系统和系统中的一个子空间来表示,每种颜色是这个子空间的一个单点。颜色模型也称为彩色空间。

1、RGB图像模型
CIE规定红、绿、蓝三个色光称为三基色,其他颜色可以由三基色混合而成,RGB模型正是基于RGB三基色的颜色模型。

RGB模型是一个正方体,建立空间直角坐标系,每个点代表着不同的颜色。给出下图利于展示了解。

MATLAB图像处理(一)_第6张图片
其中X、Y、Z轴分别代表R、G、B三种基色的取值,为0~255。坐标原点为黑色(0,0,0);坐标轴上的三个顶点分别为红(255,0,0)、绿(0,255,0)、蓝(o,0,255);另外三个坐标面上的顶点为紫(255,0,255)、青(0,255,255)、黄(255,255,0)﹔白色在原点的对角点上﹔从黑到白的连线上,颜色R=G=B的各点为不同明暗度的灰色,所以灰度图像也可以认为是各颜色RGB值相等的彩色图像(一维图像)

2、HSI模型
它基于孟塞尔表色系统,它反映了人的视觉系统感知色彩的方式,以色调(Hue)、饱和度(Saturation)和亮度(Intensity)三种基本特征量来表示颜色。
其中,色调与光波的波长有关,它表示人的感官对不同颜色的感受,如红色、绿色、蓝色等,它也可表示一定范围的颜色,如暖色、冷色等。饱和度表示颜色的纯度,纯光谱色是完全饱和的,加入白光会稀释饱和度。饱和度越大,颜色看起来就会越鲜艳。强度对应成像亮度和图像灰度,是颜色的明亮程度。

其对应的模型是六棱锥如下图:
MATLAB图像处理(一)_第7张图片
**色调(H)**反映了该颜色最接近什么样的光谱波长,在模型中,红绿蓝三条坐标轴平分360°:0°为红色,120°为绿色,240°为蓝色。任一点P的H值是圆心到Р的向量与红色轴的夹角。0°到240°覆盖了所有可见光谱的颜色,240°到 300°是人眼可见的非光谱色(紫)。
饱和度(S)是指一种颜色被白色稀释的程度。与彩色点Р到色环圆心的距离成正比,距圆心越远,饱和度越大。在环的外围圆周是纯的或称饱和的颜色,其饱和度值为1﹔在中心是中性(灰)影调,即饱和度为0。
强度Ⅰ
=О时,色调H、饱和度S无定义;当S=0时,色调H无定义。

HSI颜色模型的特点:Ⅰ分量与图像的彩色信息无关,而H和S分量与人感受颜色的方式紧密相连。由于人的视觉对亮度的敏感程度远强于对颜色浓淡的敏感程度,在模型中将亮度与色调、饱和度分开,避免颜色受到光照明暗等条件的干扰,仅仅分析反映色彩本质的色调和饱和度﹐简化图像分析和处理工作,比 RGB模型更为便利。因此,HSI颜色模型被广泛应用于计算机视觉、图像检索﹑视频检索等领域。
HSI颜色模型和RGB颜色模型只是同一物理量的不同表示法,因而它们之间存在着转换关系﹐采用几何推导法可以得到下列公式。

博主小哥第一次做,文章略面枯燥,以后会多多改善,望多多提意见。

你可能感兴趣的:(计算机视觉,图像处理,matlab)