当前位置: 首页 > news >正文

图像概念详解 以及 PIL/Pillow 详解

一、图像概念详解

1、像素(Pixel)

  • ​定义​:数字图像的最小组成单元,是一个具有特定颜色值的小方块,
  • 特性​:
    • 每个像素包含颜色信息(RGB值、灰度值等)
    • 像素本身没有物理尺寸,其显示大小取决于输出设备的分辨率
    • 在内存中通常用 1-4 个字节表示(取决于色彩深度)

2、 图像尺寸(Image Size)

  • 定义​:图像在宽度和高度方向上包含的像素数量
  • ​表示方式​:(宽度, 高度)像素
    • 示例:1920×1080 表示宽1920像素,高1080像素
  • ​重要性​:
    • 决定图像文件大小(像素越多,文件越大)
    • 影响图像显示质量(更多像素=更高细节)
    • 决定打印尺寸(与DPI结合)

3、分辨率(Resolution)

  • 分辨率是指设备屏幕宽度和高度的像素数,例如1920×1080。

  • ​PPI(Pixels Per Inch)​​:PPI(Pixels Per Inch)是衡量显示设备像素密度的单位,表示每英寸线性长度上包含的像素数量。PPI的计算需要知道屏幕的分辨率(像素数)和屏幕的物理尺寸(英寸)。

    • 每英寸包含的像素数量
    • 影响打印尺寸:打印尺寸 = 图像尺寸(像素) / PPI
    • PPI 的基本计算公式

      PPI = √((水平像素数² + 垂直像素数²) ÷ 屏幕对角线尺寸(英寸))

  • DPI(Dots Per Inch)​​:

    • 打印时每英寸的墨点数
    • 通常与PPI数值相同

4、色彩深度(Color Depth)

  • ​定义​:每个像素使用的数据位数
  • ​常见类型​:
    • 1位:黑白二值图像(每个像素0或1)
    • 8位:灰度图(0-255共256级灰度)
    • 24位:真彩色(RGB各8位,约1677万色)
    • 32位:带Alpha通道的RGB(RGBA)

5、图像的实际尺寸大小

显示设备的像素密度(PPI)​确定了图像的实际尺寸大小,计算公式如下:

# 计算公式
物理宽度(英寸) = 图片宽度(像素) / 屏幕PPI
物理高度(英寸) = 图片高度(像素) / 屏幕PPI

其中​ PPI(Pixels Per Inch)​​:每英寸包含的像素数量

常见设备的PPI对比:

设备类型典型PPI范围1000×1000像素图片的物理大小
普通桌面显示器90-110 PPI约 9-11英寸(23-28厘米)
4K显示器140-180 PPI约 5.5-7英寸(14-18厘米)
Mac Retina显示器220-250 PPI约 4-4.5英寸(10-11厘米)
智能手机300-500 PPI约 2-3.3英寸(5-8.5厘米)
平板电脑250-330 PPI约 3-4英寸(7.6-10厘米)
印刷品(300 DPI)300 DPI约 3.3×3.3英寸(8.4×8.4厘米)

二、图片实际放大与滚轮放大的区别

1、图片实际放大

  • 1、基本概念
    • ​输入​:原始图像(例如 100×100 像素)
    • 输出​:放大后的图像(例如 200×200 像素)
    • ​核心问题​:如何从较少的像素生成更多的像素?
  • 2、像素数量的变化
    • 放大倍数 = 新尺寸 / 原尺寸 例如:从 100×100 放大到 200×200
    • 宽度放大倍数:200/100 = 2倍
    • 高度放大倍数:200/100 = 2倍
    • ​总像素变化​:从 10,000 像素增加到 40,000 像素
    • ​像素密度降低​:每个原始像素需要"扩展"到更大的区域

当使用PIL放大图片时,原图像的像素和放大后的像素之间的差别主要体现在:放大后的图像是通过插值算法或其他相关算法在原图像像素的基础上“创造”了新的像素。这些新像素并不是原始图像中捕获的真实信息,而是根据周围原像素的颜色值计算出来的。
具体过程:
假设我们有一张2x2的原始图像,像素值如下:
[A, B]
[C, D]
现在要放大到4x4,也就是每两个原始像素之间要插入新的像素。
放大后的图像像素网格会变成:
[A, 插值1, 插值2, B]
[插值3, 插值4, 插值5, 插值6]
[插值7, 插值8, 插值9, 插值10]
[C, 插值11, 插值12, D]
这里的插值1、2、3…等都是通过选定的插值算法计算出来的。

PIL中常用的插值算法(重采样滤波器)有:

  • NEAREST:最近邻插值。新像素的值直接取原图像中最近的那个像素的值。这种方法速度最快,但放大后会出现块状效应。
  • BILINEAR:双线性插值。新像素的值由原图像中最近的2x2区域像素的线性插值计算得到。效果比NEAREST平滑。
  • BICUBIC:双三次插值。使用原图像中最近的4x4区域像素进行三次插值计算。效果比双线性更好,但计算量更大。
  • LANCZOS:Lanczos滤波器。使用原图像中最近的8x8区域像素计算。质量最高,但计算量也最大。

差别:

  • 最近邻插值:放大后的图像会保留原图的像素感,即马赛克效果明显。
  • 双线性插值:放大后的图像会比较平滑,但可能会有些模糊。
  • 双三次和Lanczos:能够更好地保留图像的细节,同时平滑过渡,但双三次可能会产生一些振铃效应(边缘出现伪影),Lanczos通常能提供更好的质量。

因此,原像素与变化后的像素的差别在于,原像素是原始图像的真实数据,而放大后的图像中,除了原始像素点(在整数倍放大的情况下,这些点的位置可能会对应)外,其他像素都是通过插值算法计算出来的近似值。

肉眼观察差别:

  • 当放大倍数较大时,最近邻插值会看到明显的锯齿(马赛克)。
  • 双线性插值会看到图像比较模糊,细节损失。
  • 双三次和Lanczos插值在放大倍数不是特别大时(如2-3倍)能够保持较好的清晰度,但放大倍数再大也会变得模糊,因为插值算法无法创造原始图像中不存在的细节。

所以,放大图像本质上是一种“无中生有”的过程,通过算法来猜测如何填充新的像素,从而使得图像在放大后看起来尽可能自然。但无论如何,放大图像都无法增加原始图像中不存在的细节,因此放大后的图像总会比同等分辨率的原始图像模糊。

2、滚轮放大

滚轮放大实际上与实际放大的视觉效果类似,随着滚动,即时调整当前大小图片的像素点,除了不改变真正的图片像素外,其他都大致相同,填充像素的算法与图片展示器有关。

http://www.dtcms.com/a/555381.html

相关文章:

  • 最好网站建设制作是那个dede手机网站模版
  • 泰州网站制作公司个人年终工作总结报告
  • 网站建设策划方案怎么写wordpress后台加载太慢解决教程
  • 做代理需要网站吗做校园网站代码
  • 操作系统PV操作完全指南:从原理到实战详解
  • 熟悉网站空间 域名等相关知识中核二二正式员工一月多少钱
  • 苏州基础网站建设凡客诚品配送方式
  • Floyd算法
  • 免费网站开发合同范本青岛做网站推广公司哪家好
  • 安徽省工程建设信息网官方网站青岛高品质网站制作
  • 苏州城乡建设局网站百度seo软件优化
  • DOM 实例详解
  • 一个数据库两个网站wordpress登陆做游戏都需要什么网站
  • Java基础语言进阶学习——1,JVM内存模型(堆、栈、方法区)
  • 国内免费制作网页的网站wordpress 摄影主题
  • 织梦怎么做中英文双语网站dedecms中英文网站
  • 0基础网站开发做网站外包需要提供什么
  • 做网站前端代码佛山品牌网站建设
  • 移动网站 案例在什么网站做推广
  • 6生肖竞猜网站建设开发公司组织架构图模板
  • 重庆牌联盟官网网站用wps网站栏目做树形结构图
  • 灵感中心素材网站关键词优化公司电话
  • 江阴规划建设局网站国外的网站模板
  • 深圳大型网站建设公司网站设计的流程是怎样的
  • 找室内效果图的网站做网站每年需付费吗
  • 怎么做网站导航栏网络平台制作方法
  • 游戏网站 模板wordpress富文本编辑器
  • 做dnf钓鱼网站个人网站搭建软件
  • 类似建设通的网站虚拟空间app
  • 开发者实战|FFmpeg+Python构建高可用批量视频处理系统