我们先找到一张图片,查看图片的详细信息,就可以发现里面有一些专有名词,下面对这些专有名词进行解释和拓展
图片属性信息
像素
下图片中的小方格,是图片的基本单位,不可再切割为更小的单位了
像素宽度:图片的横向所包含的像素数量
像素高度:图片的竖向所包含的像素数量
分辨率
可以细分为显示分辨率,图像分辨率,打印分辨率,扫描分辨率等;这里主要讲图像分辨率和显示分辨率;
图像分辨率:单位英寸中所包含的像素数量
显示分辨率:显示器所能显示的像素数量(屏幕图像的精密度)
图片分辨率
因此,图片的像素宽/高计算如下:
像素宽度 = 横向图片分辨率*宽度
像素高度 = 纵向图片分辨率*高度
图片尺寸相同的情况下,图片分辨率越高,图片的像素越多,图片就越清晰,同时,图片的大小就会越大,如下图:
描述分辨率的单位有DPI(点每英寸),LPI(线每英寸),PPI(像素每英寸),PPD(角分辨率)
PPI(Pixels Per Inch):每英寸像素数,也叫像素密度,应用于计算机显示,图片显示领域
DPI(Dot Per Inch):每英寸的点数,应用于输出设备,如印刷打印领域
LPI(Line Per Inch):印刷图像所用网屏的每英寸的网线数
PPD(Pixels Per Degree)):视场角中的平均每 1° 夹角内填充的像素点的数量
讲到这里,我们再来看看,各大手机厂商发布会的时候宣称的前置xx百万像素,后置xx百万像素,这个是怎么计算的呢?
前置20M(2000万像素):前置摄像头拍摄的图片的最大像素点(3:4比例拍摄的图片为3872*5184=20072448≈2000万)
显示分辨率
屏幕尺寸:屏幕对角线的长度
2400*1080像素:在6.67英寸的手机屏幕中,竖向的高有2400个像素,横向的宽有1080个像素
那么像素密度,分辨率,屏幕尺寸的关系是什么?
可以计算出上面的红米K30的屏幕像素密度=394ppi
iphone X分辨率为2436 * 1125,5.8英寸,计算后的屏幕像素密度为458 ppi,同样一英寸,iPhone X用458ppi显示,红米用394ppi显示,因此iPhone X的屏幕显示效果肯定更精细
PS:
1、屏幕的清晰程度其实是分辨率和尺寸大小共同决定,即用ppi指数衡量屏幕清晰程度
2、ppi在120-160之间的手机被归为低密度手机,160-240被归为中密度,240-320被归为高密度,320以上被归为超高密度
前置20M(2000万像素):前置摄像头拍摄的图片的最大像素点(3:4比例拍摄的图片为3872*5184=20072448≈2000万)
后置64M+13M+5M+2M
颜色模式
一种记录图像颜色的方式。分为:RGB模式、CMYK模式、HSB模式、Lab颜色模式、位图模式、灰度模式、索引颜色模式、双色调模式和多通道模式
RGB模式:红绿蓝三基色;因为自然界的所有颜色都是由红、绿、蓝这三种颜色频率的不同强度进行组合的,主要应用于显示器、电脑屏幕等领域。
RGB三基色各进行8位编码就构成了大约1677万(2^24)种颜色,这就是我们常说的真彩色
CMYK模式:其中四个字母分别指青(Cyan)、洋红(Magenta)、黄(Yellow)、黑(Black),在印刷中代表四种颜色的油墨,主要应用于期刊、杂志、报纸、宣传画等印刷领域
HSB模式:色泽(Hue)、饱和度(Saturation)和亮度(Brightness)。HSB颜色模式便是基于人对颜色的心理感受的一种颜色模式
Lab模式:由RGB模式转换为HSB模式和CMYK模式的桥梁。该颜色模式由一个发光率(Luminance)和两个颜色(a,b)轴组成
位图模式:用两种颜色(黑和白)来表示图像中的像素
灰度模式:可以使用多达256级灰度来表现图像,每个像素有一个0(黑色)到255(白色)之间的亮度值
备注,详细请见:https://baike.baidu.com/item/%E9%A2%9C%E8%89%B2%E6%A8%A1%E5%BC%8F/7361869?fr=aladdin
颜色深度
用来记录图片中一个像素色值的位数,也就是x位/像素
常见的颜色深度有:
1位:黑白照片,只有黑色和白色
4位:有2的4次幂种颜色,16种颜色
8位:2的8次幂表示,它含有256种颜色
24位:2的24次幂种颜色,16777216种颜色(真彩色),共有3个通道(RGB),R,G,B三基色各占8位,每个通道都有8位深度。
32位:32位在24位基础上加了透明度,颜色数量和24位是一样的
备注:一般我们看到的颜色编码都是#8AFF7F之类的形式,6位数字分为3组,每组两位,依次表示红、绿、蓝三种颜色的强度;每一种颜色强度最低为 0,最高为255,并通常都以16进制数值表示,那么255对应于十六进制就是FF,并把三个数值依次并列起来 ,以#开头。
上述的#8AFF7F中,R为8A,转化为二进制就是10001010
如果颜色编码是8位,最后两位一般是透明通道
图片格式:
如果一张图片没有进行压缩,使用原始的图片信息存储到文件中就会比较大,比如:5000*5000,24位/像素的图片,大小为5000*5000*3字节==71.5MB(1字节=8位)。于是就有了jpeg,png等的图片压缩格式,相当于zip,rar格式是普通文件的压缩格式一样
不同格式的图片也有自己不同的特点,如下
应用
1、像素马赛克的实现原理:
马赛克类型分为像素马赛克,高斯模糊马赛克,图片平铺马赛克,笔刷马赛克等类型,不同类型的马赛克实现方式不一样,比如
像素马赛克是在固定的间隔取像素点,即将图片分割成一些小块,每个小块的rgb值取左上角像素的值。
高斯模糊马赛克是每一个像素都取周边像素的平均值;在数值上,这是一种"平滑化"。在图形上,就相当于产生"模糊"效果,"中间点"失去细节就可以产生如下图的效果
2、近期手机厂商都在说的 10 亿色是什么意思?
3月6日发布的OPPO Find X3宣传采用的10亿色,这个十亿色表示屏幕可以显示十亿种颜色,即RGB三个通道分别是使用10位来表示,通过计算2^10*2^10*2^10=1024X1024X1024=1073741824,约等于10亿,
一般来说,颜色越多,过度越平滑,如下图,
3、颜色调色盘面板取色
用户在调色盘中手动设置了一个颜色,收起调色盘后,再次进入,需要在调色盘中选中对应的位置;获取到颜色后,将RGB转换为HSB,再选中调色盘中对应的位置
H(Hue):表示颜色的类型(例如红色,绿色或者黄色).取值范围为0—360.其中每一个值代表一种颜色.
S(Saturation):颜色的饱和度.从0到1.有时候也称为纯度.(0表示灰度图,1表示纯的颜色)
B(Brightness or Value):颜色的明亮程度.从0到1.(0表示黑色,1表示特定饱和度的颜色)
4、图片智能打码入口无法显示的问题
一般我们手机拍摄的图片,手机截图等都是8位,因为满足人类肉眼可以看到的颜色,有个比较特殊的是iphone手机截图出来的图片是16bit,AI算法在进行是否是聊天记录图片识别时,未对16位的图片进行处理,导致判断错误