本节课重点预告:
从这节课开始,小编同学带领大家开始走入计算机的世界!一张照片在计算机里是如何表示的呢?对,就是灰度直方图。
大家好,小黄同学今天将进行我们的第二堂课。
上一堂课,我们总结了计算机视觉到底是什么,给了大家一个初步的认识。
今天我们就开始走入计算机视觉的世界。首先我们先进入图片的世界,世界上你们看到的都是这种花花、草草、太阳。这就是一朵小花,这是我们看到的世界。
![3ba17c799ca5d6887ac811cfab470fae.png](https://i-blog.csdnimg.cn/blog_migrate/023938ea049a2d8414f17448d8b50f63.jpeg)
但是相机把它拍进去之后,无论是存储还是让图片在电脑里面的形式,更应该是一堆数据。
比如一张纯白的画,在计算机的世界里面,它就是这么一个矩阵。然后纯白的画,一个矩阵,因为我们都知道白色比较亮,所以在计算机里面这边白色的地方,都是1。
在计算机世界里面一张图片,亮与不亮用0到1来表示。1就是最亮,0就是最不亮,中间就是不同亮的等级。这个就是我们常说的,用浮点数去表示一个像素的亮度,当然也可以用8bit的数据去表示。从00000000,8个0,到11111111,8个1来表示亮度。11111111就是最亮,00000000就是最不亮。00000000到11111111就是0到255。
一张图片就是由像素构成的,一个数字就是一个像素,数字的值就代表像素的亮度。比如说这张图片是10×10的,每一行有十个像素,一共有十列。突然,我拿出一只黑色的笔,比如说在上面写了一个1。那么写的1这个位置, 这些数据就会变成0,0.0 0.0 0.0 0.0 0.0。
![d56a1735527ee0fc7c290c5960a1d8d4.png](https://i-blog.csdnimg.cn/blog_migrate/2421c4c1f4328de42c47140476aca371.jpeg)
黑白电视机从白到黑,就有不同等级的灰色。世界过于灰暗,不,我们这个是党领导下的阳光的世界,应该是多姿多彩的。所以现在很多图片应该是彩色的,而不应该是灰色的。那么彩色怎么去表示呢?
大自然非常神奇的给了我们三种原色,RGB也就是红、绿、蓝,它们的组合就可以组成任意的颜色。这个我相信大家应该是知道的,不知道可以买点颜料试一试。
![ed3d7af952e58e223a6e30e4085e0752.gif](https://i-blog.csdnimg.cn/blog_migrate/9d0c334080d473dd4b205adb022e24e8.gif)
用三种颜色去组成不同的颜色,颜料多加一点和少加一点,就代表这种颜色的强度不一样。
真正的彩色图片是一张三维的矩阵,刚刚灰度图片是一个二维的矩阵。一张彩色图片是一个三维的矩阵, 一个矩阵代表红色,一个矩阵代表绿色,一个矩阵代表蓝色。就是说图片中一个像素位置的点,分别有三种颜色的亮度去表示它。后面就是这一个相似的点,有三种颜色去表示像素的点。那么三种颜色也可以用不同的亮度,那么这个亮度跟灰度的亮度表示一样。可以用0到1之间的浮点数,也可以用8bit的0到255的数去表示。
![ec4cd0c3e3e6edb77e39831e1efab972.png](https://i-blog.csdnimg.cn/blog_migrate/6bfd8e3f5d8242a9188e79c86b84a8d3.jpeg)
现在大家应该了解了这个数字的图像到底是怎么一回事。他们就是作为矩阵,一张图片其实就是一个矩阵。彩色图片是一个三维的矩阵,灰度图就是一个二维的矩阵。
既然了解了这个图片,我们可以来聊一聊图片里面的一些特性。最早的是通过了解图片的灰度直方图。为了简单起见,就以灰度图为例,里面可能画了不同的东西。比如说画了个人,画了个小猫,还有桌子椅子什么的。那么这张图片刚刚我们说了,他们是有一堆数据构成的。这些数据代表图片里面的不同的亮度,每一个像素点有一个数据,就代表它的亮度。亮度是用0到255来表示,那么我们可以画出灰度直方图。横坐标就是它的灰度等级,最大就是255。纵坐标是像素个数,比如说亮度为50的像素有多少个,亮度为100的像素有多少个,亮度为150的像素有多少个。
如果一张图是黑白的,只有两种颜色,一个就是255,白色,最亮。一个就是0,黑色。那么这个图里面就是会有各个像素等级图片的个数,就是灰度图。
![f7ce7f34d9f088b113b25b324936a0ff.png](https://i-blog.csdnimg.cn/blog_migrate/28765bb48579ac7ac2462ebd7c2a5f67.jpeg)
从灰度图上我们可以发现什么呢?如果一张图片整体比较亮,光线比较好,那么灰度图分布直方图里面,这张图的分布就会比较偏右边一点,整体的像素值就会比较大,高亮度这各项数据的个数像素就会比较多。如果这张图片偏暗,那么灰度直方图就会比较偏左边一点。
![bc38431854daaca0e69f961344184ca6.png](https://i-blog.csdnimg.cn/blog_migrate/43b3c8da12ba3584ffb25b287ac89389.jpeg)
我们经常会说到图片的对比度,在灰度直方图中是怎么去体现的呢?如果图片对比度比较低的话,说明这里面不同像素的亮度就非常接近。所以他们在灰度直方图里面就会体现出来比较集中。图像对比度高是什么样子呢?我们常说黑白分明,因为黑白相像素之间的亮度差异比较大,体现在灰度直方图上,会在各个亮度等级上分布比较均匀。
我们提高对比度又叫灰度直方图均衡化,让灰度直方图在上面分布均匀。这里面可能用到一点点的概率论知识。比如说这个位置,它里面有一个像素值,可能是0到255当中的任意一个数,这可以看作是一个概率。灰度直方图可以看成是一个概率的密度分布。我们要均匀,那么概率密度分布就应该唯一。所以通过让像素在亮度上面的概率密度分布唯一,来达到均衡化。推导公式:
![5576f3f0e3b92b670b09b85bbee854fb.png](https://i-blog.csdnimg.cn/blog_migrate/519fdda28a39d812330ddede607d605b.jpeg)
看完今天介绍的灰度直方图,大家应该对一个图像到底是什么东西有了一个大概的了解,
下节课讲图像的几何变换,相信大家会对图像几何变换有一个全新的认知。