🥑Python大型数据集(GPU)可视化和Pillow解释性视觉推理及材料粒子凝聚
Last updated
Last updated
Python图像处理Pillow库:🎯打开图像、保存图像、保存期间的压缩方式、读取方法、创建缩略图、创建图像查看器。🎯获取 RGB 值,从图像中获取颜色,更改像素颜色,转换为黑白。创建 4 色照片。创建棕褐色照片 ,创建图像转换器 GUI。🎯获取 Exif 标签数据、获取 GPS Exif 数据、获取 TIFF 标签数据、创建 Exif GUI。🎯滤波器:模糊、轮廓、细节、边缘增强、浮雕、查找边缘、锐化、平滑。🎯裁剪图像、旋转图像、镜像图像、调整图像大小、缩放图像、创建图像旋转器 GUI。🎯调整色彩平衡、调整图像对比度、调整图像亮度、调整图像清晰度。🎯绘制直线、圆弧、弦、椭圆、饼图切片、多边形、矩形,创建绘图 GUI。🎯绘制文本、加载 TrueType 字体、更改文本颜色、绘制多行文本、对齐文本、更改文本不透明度、了解文本锚点、创建文本绘制 GUI。🎯ImageChop 别名、添加图像、使用 ImageChops.darker()、使用 ImageChops.lighter()、查找图像中的差异、反转图像、在图像上使用柔光、在图像上使用强光、覆盖图像、创建混合 GUI。🎯应用自动对比度、对照片进行着色、填充图像、添加边框、删除边框、缩放图像、均衡直方图、调整图像大小和裁剪图像、翻转图像、镜像图像、反转图像、图像色调分离、曝光图像、使用 Exif 方向转置图像、创建 ImageOps GUI。🎯集成Kivy、PySimpleGUI、PyQt、Tkinter、wxPython。🎯创建批处理 CLI 应用程序、使用线程运行批处理应用程序、模块化您的代码、创建批处理 GUI。
Pillow数字图像处理应用:🎯解释性视觉推理,🎯使用OpenGL和GPU交互式二维三维大型数据集可视化。🎯模拟材料粒子凝聚过程。
在上面的代码中,我们将导入PIL库的Image模块。 我们创建一个具有 3 个参数(模式、大小和颜色)的新图像。 模式为“L”,表示图像是灰度图像,单个通道代表每个像素的强度。 (我喜欢将“L”视为亮度)。 大小是宽度为 256 像素、高度为 256 像素的元组。 颜色为 0(黑色)。 我们使用 .show() 方法显示临时图像。 当我们运行这个程序时,我们得到如下所示的输出。
接下来,我们将尝试创建带有渐变的单色图像。 我们将写下图像中的每个像素。 为此,我们使用 .putpixel() 方法。 .putpixel() 方法采用 2 个参数,即像素的 (x, y) 坐标和要在该像素处插入的值。 我们需要一个嵌套循环; 外部循环将迭代图像的宽度(x 坐标),内部循环将迭代图像的高度(y 坐标)。
在计算机上存储彩色图像的常见模式是 RGB 加色方案。 它使用 3 种主要计算机显示颜色:红色、绿色和蓝色。 一个像素中这 3 种颜色的数量范围为 0 到 255(总共 256 种颜色)。 当这 3 种颜色组合起来时,我们有 256 * 256 * 256(16,777,216 或超过 1600 万)种不同的颜色。 让我们创建一个红色图像。
与之前的代码相比,有 2 个变化是模式(现在是 RGB)和颜色(现在是 (255, 0, 0)),即红色 255、绿色 0 和蓝色 0。对于绿色图像,我们将使用 (0, 255, 0),对于蓝色图像,我们将使用 (0, 0, 255)。
在下面的代码中,我们沿 x 轴按递增顺序组合红色和蓝色,以创建洋红色的渐变。
我们可以使用自己的代码得到类似的灰度图像吗? 为了理解如何做到这一点,让我们看看 (0, 0) 坐标处有什么颜色。 为此,我们使用 .getpixel(pos) 方法,其中 pos 是包含像素的 x 和 y 坐标的元组:
上面的结果告诉我们,在 x=0、y=0 时,红色的数量为 51,绿色的数量为 36,蓝色的数量为 31。为了获得该像素的亮度,我们可以对这些数字进行平均。
现在,使用相同的逻辑(平均每个像素的亮度),让我们创建一个灰度图像。