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

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)

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

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

相关文章:

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

🎯要点 P​y​t​ho​n​图像​处理Pillow​库​:🎯打开图像、保存图像、保存期间的压缩方式、读取方法、创建缩略图、创建图像查看器。🎯获取 RGB 值,从图像中获取颜色,更改像素颜色,转换为黑…...

1、快速上手Docker:入门指南

文章目录 Linux中安装docker防火墙端口配置web项目需要的环境安装yarn安装nodejs安装脚手架并准备项目 构建镜像启动镜像查看日志管理镜像推送镜像 发布项目准备服务器环境部署项目: PS:扩展一点小知识 这篇文章只是docker入门的第一个Docker项目&#x…...

通用开发技能系列:Authentication、OAuth、JWT 认证策略

云原生学习路线导航页(持续更新中) 本文是 通用开发技能系列 文章,主要对编程通用技能 Authentication、OAuth、JWT 认证策略 进行学习 1.Basic Authentication认证 每个请求都需要将 用户名密码 进行base64编码后,放在请求头的A…...

【Leetcode】【240404】1614. Maximum Nesting Depth of the Parentheses

BGM(?):圣堂之门-阿沁《梵谷的左耳》 Description A string is a valid parentheses string (denoted VPS) if it meets one of the following: It is an empty string “”, or a single character not equal to “(” or “)…...

联通iccid 19转20 使用luhn 算法的计算公式

联通iccid 19转20 使用luhn 算法的计算公式 第一次对接iccid 才知道 使用的是luhn 算法 19转20位 文章来源于 文章来源 当时也是一脸懵逼 的状态,然后各种chatgpt 寻找,怎么找都发现不对,最后看到这片java的文章实验是正确的,因…...

I.MX6ULL的MAC网络外设设备树实现说明一

一. 简介 IMX6ULL芯片内部集成了两个 10/100M 的网络 MAC 外设,所以,ALPHA开发板上的有线网络的硬件方案是: SOC内部集成网络MAC外设 PHY网络芯片方案。 本文来说明一下MAC网络外设的设备节点信息的实现。 因此, I.MX6ULL 网络…...

vue弹出的添加信息组件中 el-radio 单选框无法点击问题

情景描述:在弹出的添加信息的组件中的form中有一个单选框,单选框无法进行点击切换 原因如下: 单选框要求有个默认值,因为添加和更新操作复用同一个组件,所以我在初始化时对相关进行了判定,如果为空则赋初始值 结果这样虽然实现了初始值的展示,但是就是如此造成了单选框的无法切…...

蓝桥杯刷题day13——玩游戏【算法赛】

一、问题描述 小 A 和小 B 两个人在海边找到了 n 个石子,准备开始进行一些游戏,具体规则如下:小 B 首先将 n 个石子分成若干堆,接下来从小 A 开始小 A 和小 B 轮流取石子,每次可以任选一堆石子取走任意个,…...

Three.js——scene场景、几何体位置旋转缩放、正射投影相机、透视投影相机

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...

springboot集成rabbitmq

一 添加pom <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency>二&#xff0c;配置yml spring:rabbitmq:host: 192.168.56.200port: 5672username: adminpasswor…...

腾讯云轻量4核8G12M应用服务器性能测评和优惠价格表

腾讯云4核8G服务器价格&#xff1a;轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线&#xff1f;支持30个并发数&#xff0c;可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…...

判断点在多边形内的算法

在计算几何中&#xff0c;判定点是否在多边形内&#xff0c;是个非常有趣的问题。通常有两种方法&#xff1a; 一、Crossing Number&#xff08;交叉数&#xff09; 它计算从点P开始的射线穿过多边形边界的次数。当“交叉数”是偶数时&#xff0c;点在外面;当它是奇数时&…...

Network AIS Receiver R400N

目录 Introduction OVERVIEW BASIC FEATURES APPLICATIONS SPECIFICATIONS Introduction OVERVIEW The R400N provides a method of monitoring the position, speed and heading of AIS vessels within VHF range. It can decode of Class A, Class B, Aids to Navigat…...

JavaScript循环

JavaScript的循环有两种&#xff0c;一种是for循环&#xff0c;通过初始条件、结束条件和递增条件来循环执行语句块&#xff1a; var x 0; var i; for (i1; i<10000; i) { x x i; } x; // 50005000 for循环的3个条件都是可以省略的&#xff0c;如果没有退出循环的判断条件…...

9Proxy,跨境电商一站式解决方案

文章目录 跨境电商什么是跨境电商跨境电商的机遇跨境电商技术支撑 海外代理IP什么是海外代理IP海外代理IP的作用如何选择海外代理IP 9Proxy9Proxy的优势9Proxy的解决方案价格汇总搜索引擎优化市场调查多重核算数据抓取广告技术 价格上手体验注册登录下载安装数据采集 总结福利 …...

ObjectiveC-08-OOP面向对象程序设计-类的分离与组合

本节用一简短的文章来说下是ObjectiveC中的类。类其实是OOP中的一个概念&#xff0c;概念上简单来讲类是它是一组关系密切属性的集合&#xff0c;所谓的关系就是对现实事物的抽象。 上面提到的关系包括很多种&#xff0c;比如has a&#xff0c; is a&#xff0c;has some等&…...

Qt 总结

由于工作需要用到Qt。把过程中学习到的东西记录下来&#xff0c;希望能帮到他人和将来的自己。 由于需要快速实现需求&#xff0c;所以对Qt只是使用&#xff0c;并没有对原理的深入理解。 故此文只适合入门&#xff0c;不适合深入学习Qt。 文章目录 安装&维护示例&教…...

中间件复习之-RPC框架

什么是RPC框架&#xff1f; RPC(Remote Procedure Call):远程过程调用。当多个应用部署在多个服务器上时&#xff0c;由于他们不在一个内存空间上&#xff0c;因此需要网络来进行通信&#xff0c;而RPC允许它像调用本地方法一样调用远程服务。 RPC原理 服务消费方通过RPC客户…...

AcWing 787. 归并排序——算法基础课题解

AcWing 787. 归并排序 文章目录 题目描述CGo模板 题目描述 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行&#xff0c;第一行包含整数 n。 第二行包含 n 个整数&#xff08;所有…...

力扣1379---找出克隆二叉树的相同节点(Java、DFS、简单题)

目录 题目描述&#xff1a; 思路描述&#xff1a; 代码&#xff1a; &#xff08;1&#xff09;&#xff1a; &#xff08;2&#xff09;&#xff1a; 题目描述&#xff1a; 给你两棵二叉树&#xff0c;原始树 original 和克隆树 cloned&#xff0c;以及一个位于原始树 ori…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...