05 |
您所在的位置:网站首页 › 分辨率的大小和图片的清晰度关系是什么 › 05 |
05-Matplotlib中图像的尺寸和分辨率
上一篇详细讨论了显示器的尺寸、分辨率,PPI,DPI的概念,在这个基础上,我们讨论图像的尺寸和分辨率就要容易得多了,如果你还没有阅读上一篇,而对这些概念又不是非常、非常地清晰,建议你先阅读上一篇。 先问一个小问题: matplotlib 绘图,使用下面的命令创建的figure尺寸和分辨率是多少: import matplotlib.pyplot as plt figa = plt.figure()如果你不能立即回答出来,你可能需要重新检视一遍自己学习matplotlib的方法。 图像image和图形graphic前面有约:用图像image表示位图、栅格图形;用graphic表示矢量图形。 将一个区域(常见的为矩形,后面就以矩形为例)划分为若干个小格子(栅格),每个格子只能用一种颜色填充,将所有格子填上各种颜色,用这种方式表达的图像就是栅格图像Image。 即使整个图像只有一根直线,这根直线也是用一个一个的小格子排列而成的。 如果你需要文章中用到的一些素材,如图片、代码、数据集等,请移步QQ群“Python草堂”群号:457079928 下载。 在PS中打开上图,放大到1600%: 这就能直观地理解栅格图像的含义了。 graphic,矢量图形,则是用数据语言描述的图形,比如,直线只需要给出两个端点;圆只需要给出圆心和半径即可。 matplotlib在绘制时,绘制的是矢量图形。在存储、交换、使用时大多数又是栅格图像了! 图像大小在PS里查看图像大小: 注意,这里的文档大小,其实就是图像的物理尺寸,如果我们按照100%的比例打印这幅图像,打印出来的照片区域就是 2.12厘米*2.91厘米。 这两种尺寸的关系如下: 在计算机屏幕上,1 px,传递到我们眼睛,给出的直观大小是可变的,这就是图像的缩放。 图一中我们的眼睛无法区分出 1 px的格子,当放大到1600%时,我们的眼睛能清晰地区分出 1 px的单元格。 请注意: 这时候,图一的实际尺寸、图像分辨率并没有变化;我们改变的是它的显示分辨率。 图像分辨率和显示分辨率为什么说是改变了图像的显示分辨率呢? 我的电脑显示屏幕的当前显示分辨率已设置好,是1920px*1080px,96DPI,也就是说每英寸长度上能显示96个px。 请问:图一在PS中以100%的比例显示时,占据我的屏幕的物理空间是多大? 图一的尺寸如下: 像素大小: 宽度,250 像素;高度344 像素文档大小:宽度,2.12 厘米;高度2.91厘米;分辨率R(resolution) ,300 像素/英寸我们先来做一个推算: 原图像的物理尺寸是:2.12厘米*2.91厘米,100%比例显示时真会占据这么大的空间吗? 回到PS中,按照100%比例显示图一,设置PS的标尺单位为毫米,并显示网格线。 再问:在我的屏幕上,如果图一占据的屏幕物理空间和图一的物理尺寸一样,即2.12厘米*2.91厘米,显示的缩放比例应该是多少? 有兴趣的,请在评论里写上你的答案。 总结: image的物理尺寸,就是你以100%的比例打印图像时,打印出的照片的物理尺寸。image的尺寸有两种表示方式:像素,inches(或厘米、毫米等长度单位);用像素表示的图像尺寸结合DPI可以计算出图像的物理尺寸;image有图像分辨率(设定后是固定的)和显示分辨之分;image在屏幕上的放大和缩小,改变的是图像的显示分辨率;image的实际分辨并没有改变;image是将图像区域划分为方格矩阵,每个方格填充各种色彩来表达图像的。栅格矩阵表达图像的方式,让用Numpy的ndarray来存储、交换、重现、变换image成为很自然的事。 下一篇:matplotlib 应知应会的用numpy存储、交换、修改图像。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |