日常生活中我们会见到很多图片,专业一点的说法我们叫图像。
那么图像到底是什么呢,在计算机里面是如何存储、处理、传输并在屏幕上展现给大家看的呢?
今天我根据自己的理解给大家介绍一下(并不十分专业)
首先图像一般以矩阵的形似存储在计算机中,学过一点线性代数的同学应该了解。
下面是示意图:
上图中每一个小方格就代表图像中的每一个像素(Pixel),里面的值就代表代表像素值。
那么大家就会奇怪了,我们平时看到的图像都是一些具有实际形状和亮度的,并不是这些数字。
当然,我们看到的图像在屏幕上都是以不同的亮度显示出来的(不同像素值对应着不同的亮度)
比如我们现在能看到一张黑白的小猪佩奇:
下面是一张像素值对应不同颜色的色表,可以看到0表示黑色,255表示白色,所以现在我们就很好理解用数字存储的图像能在屏幕上显示各种图案。
0 255
但我们现在看到的都是黑白的图像,因为我们对图像进行没有进行彩色合成显示。
我们需要三张黑白的图像分别以不同的形式输入到计算机中,下面就是示意图,日常生活中见到的图像都是RGB,也就是所谓的真彩色合成的图像。
比如我们现在看到的小猪佩奇
当然,只要换一个种输入方式,就会发生改变:
图案本身没有变,只是显示方式发生了变化,此时我们叫做假彩色显示。
接下来介绍一些简单的图像处理:
首先是马赛克,这个大家都经常用了,在QQ和微信的编辑图片功能中简单实用,那么马赛克是怎么做得到呢?
我先介绍一种实现马赛克的方法,示意图如下:
首先我们对需要进行马赛克的地方做一个平均处理,也就是把上面九个像素的值加在一起,然后取平均,再将平均值放到每个像素中,这样我们最后在图像上看到的就是一个大大的像素(因为“大像素“”里面所有的像素值都相同,导致视觉上显示出来就能看到格网的效果)
这是处理之后的结果,我们就能看到一个模糊的小猪佩奇。
做马赛克时格网越大,马赛克越强(3*3的格网做出来的马赛克没有30*30的格网做出来的明显)。
顺便介绍一下滤波算法:
中值滤波:
上述3*3格网中的像素值排列之后取中值,将其放入到需要进行滤波的像素中。
均值滤波:
上述3*3格网中的像素值计算均值,放入到需要滤波的像素中。
这有什么意义呢?
请看如下:
(不要问我为啥用个美女图,这是图像处理算法的标准图)
这是一幅不太好看的“图”,有很多亮斑(椒盐噪声)影响图片的质量。
中值滤波结果:
均值滤波结果:
可以看到中值滤波的效果要好很多,所以中值滤波适用于处理图像上的椒盐噪声。
这在我们实际生活中有哪些应用呢?
个人猜想,P图中常用的磨皮美白啥的,都和滤波有关。
比如脸上有点坑坑洼洼,可以通过滤波来使皮肤变得光滑!!
好长一段时间没写了,最近登录才发现微信公众号的赞赏开放了~
领取专属 10元无门槛券
私享最新 技术干货