- 图像的基本表示方法
- 二值图像
二值图像指的是黑色和白色的图像。在计算机中,图像处理是通过矩阵实现的。在计算机处理图像时,先将其划分为若干小方块,每一个小方块就是一个独一的处理单元,称之为像素点。然后计算机会将白色的像素会处理为“1”,黑色的像素点处理为“0”。
由于像素只使用两个数字就可以表示出来,因此,计算机使用一个比特位表示二值图像。
-
- 灰度图像
虽然二值图像的表示比较简单,但是正是由于过于简单,只有黑白两种颜色,导致图像不够细腻,不能表现出更多的细节。而灰度图像的信息更加丰富。所以计算机无法只使用一个比特位来表示灰度图像。
一般来说,计算机会将灰度处理为256个灰度级,用数值区间[0,255]来表示。其中“255”表示纯白色,数值“0”表示为纯黑色。其余的数值表示从纯白色到纯黑色之间不同级别的灰度。用于表示256个灰度级别的数值0~255,正好可以用8位二进制来表示。
有时会使用8位二进制来表示二值图像。其中,“0”表示黑色,“255”表示白色。
-
- 彩色图像
与二值图像和灰度图像相比,彩色图像明显可以表示更多的图像信息。
研究发现人类的视网膜能够感受红色、绿色和蓝色三种不同的颜色,即三基色。在自然界中,各种常见的不同的颜色的光都可以通过三基色按照一定的比例混合而成。从人的视觉角度来看,可以将颜色解析为色调、饱和度和亮度等。
通常,我们将上述采用不同方式表述颜色的模式称之为色彩空间。
虽然不同的色彩空间具有不同的表示方式,但是不同的色彩空间之间可以根据需要按照公式进行转换,这种转换在Opencv中特别方便。
在RGB色彩空间中,存在R(red,红色)通道、G(green,绿色)通道、B(blue,蓝色)通道。每个色彩通道值的范围都在[0,255]之间。计算机使用这三个色彩通道的组合表示颜色。对于计算机来说,每个通道的信息就是一个一维数组。所以通常使用一个三维数组来表示一幅RGB色彩空间的彩色图像。
一般来说,在RGB色彩空间中,图像通道的顺序是R-G-B,但是在OpenCV中,通道的顺序是B-G-R,即:
第一个通道保存B通道的信息。第二个通道保存G通道的信息。第三个通道保存R通道的信息。
在图像处理中,可以根据需要对通道的顺序进行转换。OpenCV提供了很多库函数进行色彩空间的转换。
——————————————————————————————————————————————————————————————————————————————————————----------
声明:本学习笔记来源于由机械工业出版社出版的由高敬鹏,江志烨、赵娜编著的《机器学习 基于OpenCV和Python的智能图像处理》即《Machine Learning Intelligent Image Processing Based Opencv and Python》,本笔记仅供学习参考,禁止用作商业用途。版权最终归属于本笔记知识来源方所有。注意,本笔记是笔者在该书的基础上略作修改,部分例题是自己的图像和添加注释等补充。本笔记的正确性不代表本书绝大数知识来源参考书的正确性。倘若发现本笔记有误,请联系笔者进行修改。由于笔者水平有限,若有错误,清不吝赐教。由于笔者刚接触机器学习的图像处理方面,笔记基础浅显,见谅,不过相关知识在不断更新中。