一张图片引发的思考

看到一张图片,然后引发的一系列知识点的搜索

随便打开一张jpg图片,大小4MB,像素为600px*500px,分辨率为75dpi
好吧,最先引发的几个问题:
1.jpg、png、gif、bmp等等格式的文件有什么区别呢?
答:GIF是一种无损压缩,支持256(8bit)种颜色,支持单一透明度,常用于网页动画;
      JPG图片:有损压缩图片,不支持动画和透明色,24bit颜色(2的24次方种颜色)
      PNG:无损压缩,不支持动画,但是支持full alpha通道(后面讲什么是alpha)。
      BMP:windows位图
     总结一句话:就是各种图片格式而已,当需要深究时,请看:zh.wikipedia.org/wiki/图形文件格式比较
2.什么是像素?
答:把一张图片不断的放大,发现最后是一个一个的颜色块组成的,这样一个颜色块就是一个像素,所以可以想想:width像素为600px,也就是宽度上由600个这样的颜色块组成,height像素为500px,表示高度上由500个这样的颜色块组成。所以往往看到一张图片的尺寸,600px*500px就知道这个图片宽度和长度上到底有多少像素了。600*500=300000=30万像素,就是大家平时经常说的30万像素,表示一个图片最后由30万个像素组成的。那么同样是30万像素的两个照片,是不是看起来清新度就一样啊?当然不是,这样想,都是30万的像素,那么对于一张5cm*6cm的图片和一张50m*60m的照片,哪个更清楚呢?当然是前者,这就涉及到另外一个概念,分辨率。
3.什么是分辨率?
答:例如72DPI,表示每英寸(2.54厘米)上有72个像素,所以分辨率越高,那么每英寸上像素也就越高,当然也有用横向和纵向像素表示分辨率的,例如1024*768
4.像素、分辨率、尺寸和大小之间有什么关系吗?
答:对于一个实际尺寸为6英寸*8英寸的照片,如果分辨率为72DPI,那么像素也可以算出来了,为:(6*72)px*(8*72)px=312px*576px=18万px,所以相同大小的图片(这里的大小指的是尺寸,例如英寸、厘米等等),分辨率越高,像素也越高;同样的,像素越高,分辨率越高。
那么和大小(多少MB)有什么关系呢?答案是没有直接的关系,也就是相同的像素,文件大小不一定一样,会有其他的因素有关,但是一般情况下,像素越大,图片也越大、
好吧,总结一下,记住这句好就OK了“分辨率表示的是单位长度上有多少像素”:这句话里面有三个词:“分辨率”+“长度”+“像素”,任意两个确定了,第三个值也就确定了,例如:分辨率确定了,长度也确定了,那么像素也确定了。大家平时说的像素越大,图片越清晰,往往是有个默认假设,那就是图片尺寸大小是固定的。
5.什么是RGB?
答:前面说的一个一个的颜色块就是一个像素,那么这个颜色块到底是什么颜色呢?”红色“?"绿色"?还是别的颜色?好吧,下面说说RGB,也就是Red、Green、Blue,其实我们看到的 几乎任何颜色都可以用不同比例的红绿蓝颜色来混合而成,也就是RGB分量构成,每个分量的大小从0到255,(一共是8bit)这样R(0)G(0)B(0)就表示白色,R(255)G(255)B(255)黑色,如果R数字比较大,其他GB的数字很小,那么颜色就比较偏红色。所以RGB可以表示的颜色数目为256*256*256种,2的24次方,所以也叫24位色,也叫真彩色。那么我们平时也会看到32位色,表示什么呢?接下来看ARGB。
6 .什么是ARGB呢?
答:前面说的32位色,其实也是只能表示2的24次方,只是在前面增加了一个A:灰度值或者是透明度,也就是常说的alpha值,那么alpha值有什么用呢?这样想,有两张图片,重叠在一起,是不是只能看到上面的图片了,那是因为默认的alpha值是100%,也就是不透明,所以把下面的遮住了,而通过改变alpha值,可以让上下两张图片都显示,所以alpha值可以让图片平滑的去合成,大家可以在ps里面亲自尝试去体会。如果你真的去尝试了,可能会遇到除了RGB,可能还有一种模式:CMYK,和RGB有什么区别呢?接下来看CMYK。
6.RGB和CMYK有什么区别呢?
答:想一想,看电脑屏幕上的字和看书上的字有什么区别?电脑屏幕上的字是自己发光的,而书上的字是反光的,所以在一间黑暗的房间,可以看见电脑里面的字,而看不到书上的字,所以RGB是一种发光的色彩模式,例如电子屏幕上看到的图像,而CMYK是一种依靠反光的色彩模式,例如期刊杂志图书上看到的图像,RGB的三原色为Red、Green、Blue,CMYK的三(四)原色为Cyan:青色、Magenta:洋红色、Yellow:黄色、Black:黑色。
好了,前面说这么多,那么计算机里面是如何数字化图像的呢?之前说的,一个图像是一个一个的像素组成的,例如一个500*600px的图像,就是500*600个点组成的,每个点由ARGB组成,所以可以表示成一个500*600的矩阵表示,也就是说, 任何一个图片,在计算机里面对应一个矩阵,对图片的修改,也就是对矩阵的修改,而对于维数很高的矩阵,处理起来比较麻烦,所以会用到矩阵的特征值,矩阵的各种分解,大学期间看起来没有什么用的矩阵的知识,这里会派上很大用场,同时让矩阵在图像处理上应用,能够进一步加深理解矩阵里面的知识点。于是引发下面一系列问题: 矩阵特征值到底是什么?矩阵的奇异值分解、最大秩分解到底是干什么的?等等一系列矩阵相关的知识.

你可能感兴趣的:(图片)