Python图像处理教程(Pillow)1位图简介

前言

本教程介绍使用Pillow库进行图像处理的基础知识。阅读本书后,你应该能够创建Python程序来读取、写入和处理图像。

本教程针对希望学习Python图像处理者。不需要任何图像处理知识,但如果有处理图像数据的经验会更佳。

本教程假定你有Python的基本,但所有的例子都有充分的解释,并没有使用任何高级语言特性。

简介

本教程使用Pillow 9.3.0版和Python 3.10版来介绍Python中的位图。它分为两个部分。

  • 位图图像

介绍位图一些重要概念,包括颜色表示、像素数据模型、图像压缩、文件格式和元数据。

  • Pillow库

Python Pillow成像库的详细教程,它是最流行的Python图像库之一。

1位图简介

本章将介绍什么是位图图像的基本知识。后面的章节将介绍。

1.1 什么是位图图像?

你在网上看到的几乎所有图像都是位图图像,它又名光栅图像,或像素图像。

位图是由像素构成的--它们可以被认为是构成图像的微小彩色方块。

1.2空间采样

真实世界的场景几乎有无限的细节。位图图像的细节是有限的。相机会把场景转换成像素阵列。每个像素代表图像的一小部分。

如果分辨率搞,我们就无法区分个体,而图像看起来与实际场景相似。

在实践中,在40厘米的观察距离上,眼睛可以分辨出相距约0.1毫米的物体。因此一张纸上画有两条相距0.1毫米的细线。如果你把纸拿在离你脸40厘米的地方,假设你有正常的视力,你可能刚好能看到有两条独立的线。再远一点,它们就会看起来像一条线了。

如果你想在页面上打印图像,使眼睛无法看到单个像素,你的目标应该是每毫米10像素(约每英寸250像素)或更高的像素分辨率。因此,对于一张15厘米×10厘米的打印照片,你希望图像的分辨率至少为1500×1000像素。这将是一个150万像素(MP)的图像。

在现实中,你可能会想要比这更高的分辨率。

  • 打印更大的照片。
  • 裁剪照片,只显示主题。

大多数现代数码相机支持600万像素或更高的像素。

高像素尺寸并不总是像它们看起来那样有用。

对于打印非常大的图像,如海报,它们通常是从40厘米以上的地方看的,所以没有必要有0.1毫米的空间分辨率。

在非常高的分辨率下,相机抖动等因素会使图像模糊,因此,如果没有非常牢固的三脚架,拍摄非常高的分辨率的照片就没有什么意义。

1.3 颜色表示

位图图像中的每个像素都有特定的颜色。我们可以用各种方式在图像中表示一种颜色。

最常见的方式是将颜色表示为三个独立的部分,即构成颜色的红、绿、蓝光的数量。正如我们将看到的,这是基于人眼对颜色的感知方式。然而,我们有时也会使用其他的方法,包括。

  • CMYK:用于表示印刷的颜色。
  • HSL--在艺术和设计中作为一种直观的方式来选择相关颜色。
  • 感知性色彩空间,如CieLAB,用于创造非常精确的色彩。

我们需要多精确地表示图像中的每种颜色。作为一个粗略的经验法则,我们可以检测到大约1%的颜色变化。大多数现代系统每通道使用8比特(例如,在0和255之间的三个整数来存储红、绿和蓝的值)。这提供了一个优于0.5%的精度,这对大多数用途来说是足够的。

一些图像格式使用较少或较多的比特来存储数据,所以了解不同的格式是很有用的。

计算机系统无法捕捉或显示现实世界中的全部颜色,尤其是颜色强度。我们可能会遇到太阳的全部光亮或深山洞穴的完全黑暗。在电脑显示器上不可能复制这种强度范围,而在电脑打印件上复制的可能性就更小。打印机不可能创造出比纸张本身更亮的东西,也不可能创造出更暗的东西。

撇开强度不谈,许多自然色彩太过纯粹和鲜艳,无法通过屏幕或打印机准确再现。我们只能在电脑上对它们进行近似的处理。

1.4 文件格式

图像数据通常非常大,所以许多文件格式支持数据压缩。所有文件格式都支持元数据。

元数据是关于其他数据的数据,用于在图像文件中描述图像数据的额外信息。这可以从最基本的信息(如图像尺寸和颜色类型)一直到关于拍摄图像时使用的相机设置的高度详细的信息。每种格式都有一套不同的功能。

现在最流行的格式是:

  • 用于摄影图像的JPEG格式:

因为它支持一种非常有效的有损压缩形式,在照片中效果良好。

  • PNG格式用于图表和标志:

它支持非常有效的无损压缩形式,在人工图像中效果很好。

  • GIF格式:

它不怎么用于普通图像,但有一个独特的功能,即支持简单的动画,这使它对某些网页很有用。

  • TIFF格式:

主要用于专业打印应用。它是一种能力很强的格式,支持大量的数据类型、压缩方案和元数据,但它也相当复杂,所以不被浏览器支持。

还有许多其他文件类型,特别是像图标这样的小文件,因为它们很小,所以不需要复杂的压缩。它们通常是针对特定的操作系统或软件类型的。

1.5 矢量图像

存储图像数据的另一种方法是使用矢量格式。在矢量图像中,图像不是以像素形式存储。相反,它被存储为一组形状的数学定义。矢量图像本质上是线条、矩形、圆形和其他形状的列表。它定义了每个形状的确切尺寸、位置和颜色,通常是人类可读的文本。

要查看矢量图像,首先必须进行渲染,也就是说,通过绘制每个形状,将其转换为位图。这个过程通常是高度优化的。

矢量图像的优点是。

  • 文件大小通常比同等的位图图像小得多。
  • 图像可以在任何分辨率下呈现,因为每个形状的准确位置都被储存起来。你几乎可以无限放大图像,它仍然有完美的边缘。
  • 图像中的单个形状可以被编辑。

缺点:

  • 图像在显示前必须进行渲染,这比简单的位图需要更多的处理能力。
  • 可能存在兼容性问题。由于格式通常比较复杂,出错的方式也比较多。
  • 它只适用于人工图像(图表、文本文件等),你无法有效地将自然照片储存在矢量格式中。

知名的矢量格式有SVG、PDF和PostScript等。

参考资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,924评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,781评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,813评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,264评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,273评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,383评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,800评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,482评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,673评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,497评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,545评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,240评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,802评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,866评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,101评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,673评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,245评论 2 341

推荐阅读更多精彩内容