Python大型数据集(GPU)可视化和Pillow解释性视觉推理及材料粒子凝聚

🎯要点

  1. P​y​t​ho​n​图像​处理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。
  2. Pillow数字图像处理应用:🎯解释性视觉推理,🎯使用OpenGL和GPU交互式二维三维大型数据集可视化。🎯模拟材料粒子凝聚过程。

🍇Pillow数字图像处理

单色图像

from PIL import Imagemode = 'L'
size = (256, 256)
color = 0img = Image.new(mode, size, color)
img.show()

在上面的代码中,我们将导入PIL库的Image模块。 我们创建一个具有 3 个参数(模式、大小和颜色)的新图像。 模式为“L”,表示图像是灰度图像,单个通道代表每个像素的强度。 (我喜欢将“L”视为亮度)。 大小是宽度为 256 像素、高度为 256 像素的元组。 颜色为 0(黑色)。 我们使用 .show() 方法显示临时图像。 当我们运行这个程序时,我们得到如下所示的输出。

接下来,我们将尝试创建带有渐变的单色图像。 我们将写下图像中的每个像素。 为此,我们使用 .putpixel() 方法。 .putpixel() 方法采用 2 个参数,即像素的 (x, y) 坐标和要在该像素处插入的值。 我们需要一个嵌套循环; 外部循环将迭代图像的宽度(x 坐标),内部循环将迭代图像的高度(y 坐标)。

from PIL import Imagemode = 'L'
size = (256, 256)img = Image.new(mode, size)
for x in range(256):for y in range(256):img.putpixel((x, y), x)img.show()

彩色图像

在计算机上存储彩色图像的常见模式是 RGB 加色方案。 它使用 3 种主要计算机显示颜色:红色、绿色和蓝色。 一个像素中这 3 种颜色的数量范围为 0 到 255(总共 256 种颜色)。 当这 3 种颜色组合起来时,我们有 256 * 256 * 256(16,777,216 或超过 1600 万)种不同的颜色。 让我们创建一个红色图像。

from PIL import Imagemode = 'RGB'
size = (256, 256)
color = (255, 0, 0)img = Image.new(mode, size, color)
img.save("Temp.png")

与之前的代码相比,有 2 个变化是模式(现在是 RGB)和颜色(现在是 (255, 0, 0)),即红色 255、绿色 0 和蓝色 0。对于绿色图像,我们将使用 (0, 255, 0),对于蓝色图像,我们将使用 (0, 0, 255)。

在下面的代码中,我们沿 x 轴按递增顺序组合红色和蓝色,以创建洋红色的渐变。

from PIL import Imageimg = Image.new('RGB', (256, 256))for x in range(256):for y in range(256):img.putpixel((x, y), (x, 0, x))
img.show()

彩色图像换为灰度图像

from PIL import Imageimg = Image.open("Peacock.jpg")
img = img.convert('L')img.show()

我们可以使用自己的代码得到类似的灰度图像吗? 为了理解如何做到这一点,让我们看看 (0, 0) 坐标处有什么颜色。 为此,我们使用 .getpixel(pos) 方法,其中 pos 是包含像素的 x 和 y 坐标的元组:

from PIL import Imageimg = Image.open("Peacock.jpg")pix = img.getpixel((0, 0))
print(pix)

上面的结果告诉我们,在 x=0、y=0 时,红色的数量为 51,绿色的数量为 36,蓝色的数量为 31。为了获得该像素的亮度,我们可以对这些数字进行平均。

from PIL import Imageimg = Image.open("Peacock.jpg")pix = img.getpixel((0, 0))
print("Pixel value is", pix)
lum = (pix[0] + pix[1] + pix[2]) // 3
print("Luminosity is", lum)

现在,使用相同的逻辑(平均每个像素的亮度),让我们创建一个灰度图像。

参阅一:计算思维
参阅二:亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/791727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每日一道算法题】移除链表节点

这里写自定义目录标题 【每日一道算法题】移除链表元素思路记录我的代码力扣官方题解递归迭代 【每日一道算法题】移除链表元素 力扣题目链接(opens new window) 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点&#xf…

3459: 【PY】A+B问题

题目描述 在大部分的在线题库中,都会将AB问题作为第一题,以帮助新手熟悉平台的使用方法。 AB问题的题目描述如下:给定两个整数A和B,输出AB的值。 现在请你解决这一问题。 输入 第一行一个整数,表示A 第二行一个整…

arm的状态寄存器

目录 一、arm 的 PSRs二、CPSR2.1 CPSR_cxsf 三、SPSR四、APSR 一、arm 的 PSRs arm 中有很多程序状态寄存器(Program Status Registers,PSRs)用于存储处理器的状态信息,包括 CPSR\SPSR\FPSR\APSR 等: CPSR&#xff…

Vue3配置router路由步骤

Vue3配置router路由步骤 首先创建一个vue3的项目 先检查一下router的版本,可以在pakage.json里面查看,也可以你直接在终端输入 npm list vue-router如果版本比较低的话,先升级一下 vue3的话,用以下命令 npm install vue-route…

红蓝色WordPress外贸建站模板

红蓝色WordPress外贸建站模板 https://www.mymoban.com/wordpress/5.html

TSINGSEE青犀推出河道/河湖/水域治理视频AI智能解决方案

一、方案背景 “十四五”时期,在面源污染防治等方面实现突破,实现主要水污染排放总量持续减少,水生态环境持续改善等任务艰巨。进一步完善流域综合治理体系,提升流域水环境综合治理能力和水平,更好适应新阶段发展需求…

verilog 从入门到看得懂---verilog 结构说明语句

verilog语言中的过程块都是由一下四个结构语句构成: 1)initial说明语句(只执行一次) 2)always说明语句(敏感参数触发的时候调用) 3)task说明语句(调用的时候执行) 4)…

【Java基础】Java的反射、注解、lambda表达式

文章目录 1. 反射1.1 反射演示1.2 反射原理 2. Class类3. 注解3.1 内置注解3.2 元注解3.3 自定义注解 4. lambda表达式5. lambda精简6. lambda调用方法 1. 反射 1.1 反射演示 有一个猫类,如下: public class Cat {private String name;private int ag…

IDEA2023.1.1中文插件

1.启动IDEA 选中Customize 2.选择All settings 3.选中Plugins,再搜索栏里输入Chinese,找到 "Chinese (Simplified) Language"插件,点击 Install 进行安装。 4. 安装完成后,重启IntelliJ IDEA,即可看到界面语言已经变为中文。

JavaScript 函数定义和调用

在JavaScript中,定义函数的方式如下: function abs(x) { if (x > 0) { return x; } else { return -x; } } 上述abs()函数的定义如下: function指出这是一个函数定义; abs是函数的名称; (x)括号内列出函数的参数&am…

Springboot 集成 dynamic-datasource-spring-boot-starter,实现项目中原有的数据源作为主数据源

Springboot 集成 dynamic-datasource-spring-boot-starter&#xff0c;实现项目中原有的数据源作为主数据源 保证原有项目中在执行数据库操作时&#xff0c;默认使用原有数据源&#xff0c;新数据源做特定操作 引入多数据源切换依赖&#xff1a; <dependency><grou…

JavaScript(一)基础

文章目录 一、JS介绍JavaScript是什么JavaScript书写位置JavaScript的注释输入输出语法字面量 二、变量变量是什么变量基本使用变量的本质变量命名规则与规范变量拓展-数组var与let的区别 三、常量四、数据类型数据类型检测数据类型数据类型转换隐式转换显式转换 简单运算符断点…

【洛谷 P8695】[蓝桥杯 2019 国 AC] 轨道炮 题解(映射+模拟+暴力枚举+桶排序)

[蓝桥杯 2019 国 AC] 轨道炮 题目描述 小明在玩一款战争游戏。地图上一共有 N N N 个敌方单位&#xff0c;可以看作 2D 平面上的点。其中第 i i i 个单位在 0 0 0 时刻的位置是 ( X i , Y i ) (X_i, Y_i) (Xi​,Yi​)&#xff0c;方向是 D i D_i Di​ (上下左右之一, 用…

【详细注释+流程讲解】基于深度学习的文本分类 TextCNN

前言 这篇文章用于记录阿里天池 NLP 入门赛&#xff0c;详细讲解了整个数据处理流程&#xff0c;以及如何从零构建一个模型&#xff0c;适合新手入门。 赛题以新闻数据为赛题数据&#xff0c;数据集报名后可见并可下载。赛题数据为新闻文本&#xff0c;并按照字符级别进行匿名…

同步检查继电器 JT-1/200 100V 面板嵌入式安装,板后接线

系列型号 JT-1同步检查继电器&#xff1b; DT-1同步检查继电器&#xff1b; JT-3同步检查继电器&#xff1b; DT-3同步检查继电器&#xff1b; 一、应用范围 JT(DT)系列同步检查继电器用于两端供电线路的自动重合闸线路中&#xff0c;以检查线路上电压的存在及线路上和变电站汇…

基于Spring Boot的在线考试系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven…

Go语言时间编程

1.时间元素编程 时间是一个重要的编程元素,可用于计算、同步服务器以及测量。Go语言标准库提供了time包,其中包含用于同当前时间交互以及测量时间的函数和方法。 在编程中,时间通常被称为“实时” “过去的时间” 和 “壁挂钟” 。对于术语“壁挂钟”,可将其视为挂在墙上的…

element-ui breadcrumb 组件源码分享

今日简单分享 breadcrumb 组件的源码实现&#xff0c;主要从以下三个方面&#xff1a; 1、breadcrumb 组件页面结构 2、breadcrumb 组件属性 3、breadcrumb 组件 slot 一、breadcrumb 组件页面结构 二、breadcrumb 组件属性 2.1 separator 属性&#xff0c;分隔符&#xff…

程序员沟通之道:TCP与UDP之辩,窥见有效沟通的重要性(day19)

程序员沟通的重要性&#xff1a; 今天被师父骂了一顿&#xff0c;说我不及时回复他&#xff0c;连最起码的有效沟通都做不到怎么当好一个程序员&#xff0c;想想还挺有道理&#xff0c;程序员需要知道用户到底有哪些需求&#xff0c;用户与程序员之间的有效沟通就起到了关键性作…

PCL 计算直线到三角形的距离(3D)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这里的思路相对就简单很多了,主要有之前的积累: 1、首先,我们可以判断直线与三角形是否相交,相交则距离为0,这里可以参考之前的博客:PCL 计算一条射线与一个三角形的交点。 2、如果直线与三角形未相交,则只需…