图像处理基础知识像素高宽分辨率
转载请声明 http://blog.csdn.net/softmanfly/article/details/45393987
图像处理中的几个基本概念及其关系:
像素:一个存储了RGB颜色值的信息点叫一像素。单位是px。
分辨率:表示物理单位一英寸包含多少个像素点,单位是px/英寸或者px/厘米等。我们都知道分辨率越高,图像越清晰,纹理越细腻,而分辨率越低,图像越模糊,纹理越粗糙。
有了上述两个概念,再来说明图像的大小和分辨率像素之间的关系。
首先说说计算机中是如何存储图像信息的,对于位图来说,计算机中存储的是这个图片信息点的颜色值和信息点的位置,位图中图片就是依靠一个矩阵来存储图像的,可以想象成一个二位数组,数组的下标就是像素点在图片中所处的坐标位置,而数组元素中存储的就是该像素点的RGB颜色值。
那么我们去描述一个物理意义(注意是物理)上的图片呢?如果让一个不懂计算机知识的人去描述一张照片,那他肯定只能这么描述这张照片:这是一个多少寸的照片,长多少多少英寸,宽多少多少英寸。确实,如果不从计算机存储的角度上来说,这是描述图片大小的唯一方法。那么问题来了,假如我们有一张长和宽都是一英寸的照片,我们如何将这张照片录入到计算机当中存储并展现出来呢?
我们知道计算机中存储的都是0和1,所以你要将一张物理图片存入计算机,关键在于如何将一张物理图片用计算机的存储方式去描述出来,这个描述的方法有2中,一种是位图描述,一种是适量图描述,位图描述就是我们上面说到的矩阵,用一个类似二维数组的矩阵来表示一个像素的矩阵,每个矩阵元素中存储的就是RGB颜色值,那么问题来了,需要一个多大的矩阵来描述一个1寸的方形照片呢?这没有硬性的要求,如果你的矩阵越大,比如我用一个a[2000][2000]的数组来存储像素RGB色值的话,那么你存储的信息量就越大,图片描述就越精细,相应的图片在计算机体现出来的大小就越大(比如2M);相反,如果你的矩阵越小,比如用a[200][200]来描述图片的话,图片就越粗糙,存储在计算机中的体积也越小。这么一说,可能就豁然开朗了,这不就是分辨率的概念吗?
对,分辨率就是这个原理,比如我们有一个图片,长和宽的物理尺寸都是1英寸,在计算机中存储是按照72像素/英寸的分辨率来存储的,那么这个图片在计算机中就一共有72×72个像素点需要表示,也就是说这个图片的分辨率是72像素/英寸。如果是以144像素/英寸来存储,那么在计算机中就需要144×144个像素点矩阵来表示,这时候这个图片的分辨率就是144像素/英寸,同样的物理尺寸,分辨率越高,图片越细腻,存储体积就越大。
结合上面所说的图片的分辨率,我们让区分一下屏幕的分辨率,我们知道一个屏幕是用来显示图片的,那么屏幕的分辨率就是指一英寸物理屏幕大小所包含的像素点的多少,比如我们有一张存储在计算机中的图片,分辨率是72像素/英寸,图片的物理尺寸是1英寸。我们还有一块分辨率设置成144像素/英寸的显示器,那么这张图片用这块显示器显示出来后,实际的物理长和宽是多少呢?我们可以来计算一下:
由于是张方形的图片,我们只讨论他的宽度,1英寸×72像素/英寸 = 72像素,也就是说这张图片存储在计算机中是一个72×72的像素矩阵,宽的方向上包含了72个像素点。我们的屏幕是1英寸的物理屏幕上包含了144个像素点,那么我们的图片在这个显示器上实际显示出来的物理尺寸就是0.5英寸。好,那么如果我们把屏幕分辨率设置的更高一点,图片按照其自身原本的分辨率显示出来的话看起来就会更小,如果屏幕分辨率变低,图片打开就会变大,这就是屏幕分辨率和图片分辨率之间的关系。我们不难发现其计算公式如下:
图片长(宽)物理尺寸×图片分辨率 = 图片长(宽)像素点个数 = 屏幕当前分辨率×图片在屏幕上显示的长(宽)的物理尺寸大小。
明白这个原理以后,我们在用一些图像处理软件如PS或者在编程时就可以做到运用自如,得心应手了。