python星空特效代码(python制作超炫流星雨表白)

http://www.itjxue.com  2023-02-23 05:41  来源:未知  点击次数: 

121 11 个案例掌握 Python 数据可视化--星际探索

星空是无数人梦寐以求想了解的一个领域,远古的人们通过肉眼观察星空,并制定了太阴历,指导农业发展。随着现代科技发展,有了更先进的设备进行星空的探索。本实验获取了美国国家航空航天局(NASA)官网发布的地外行星数据,研究及可视化了地外行星各参数、寻找到了一颗类地行星并研究了天体参数的相关关系。

输入并执行魔法命令 %matplotlib inline, 设置全局字号,去除图例边框,去除右侧和顶部坐标轴。

本数据集来自 NASA,行星发现是 NASA 的重要工作之一,本数据集搜集了 NASA 官网发布的 4296 颗行星的数据,本数据集字段包括:

导入数据并查看前 5 行。

截至 2020 年 10 月 22 日 全球共发现 4296 颗行星,按年聚合并绘制年度行星发现数,并在左上角绘制 NASA 的官方 LOGO 。

从运行结果可以看出,2005 年以前全球行星发现数是非常少的,经计算总计 173 颗,2014 和 2016 是行星发现成果最多的年份,2016 年度发现行星 1505 颗。

对不同机构/项目/计划进行聚合并降序排列,绘制发现行星数目的前 20 。

2009 年至 2013 年,开普勒太空望远镜成为有史以来最成功的系外行星发现者。在一片天空中至少找到了 1030 颗系外行星以及超过 4600 颗疑似行星。当机械故障剥夺了该探测器对于恒星的精确定位功能后,地球上的工程师们于 2014 年对其进行了彻底改造,并以 K2 计划命名,后者将在更短的时间内搜寻宇宙的另一片区域。

对发现行星的方式进行聚合并降序排列,绘制各种方法发现行星的比例,由于排名靠后的几种方式发现行星数较少,因此不显示其标签。

行星在宇宙中并不会发光,因此无法直接观察,行星发现的方式多为间接方式。从输出结果可以看出,发现行星主要有以下 3 种方式,其原理如下:

针对不同的行星质量,绘制比其质量大(或者小)的行星比例,由于行星质量量纲分布跨度较大,因此采用对数坐标。

从输出结果可以看出,在已发现的行星中,96.25% 行星的质量大于地球。(图中横坐标小于 e 的红色面积非常小)

通过 sns.distplot 接口绘制全部行星的质量分布图。

从输出结果可以看出,所有行星质量分布呈双峰分布,第一个峰在 1.8 左右(此处用了对数单位,表示大约 6 个地球质量),第二个峰在 6.2 左右(大概 493 个地球质量)。

针对不同发现方式发现的行星,绘制各行星的公转周期和质量的关系。

从输出结果可以看出:径向速度(Radial Velocity)方法发现的行星在公转周期和质量上分布更宽,而凌日(Transit)似乎只能发现公转周期相对较短的行星,这是因为两种方法的原理差异造成的。对于公转周期很长的行星,其运行到恒星和观察者之间的时间也较长,因此凌日发现此类行星会相对较少。而径向速度与其说是在发现行星,不如说是在观察恒星,由于恒星自身发光,因此其观察机会更多,发现各类行星的可能性更大。

针对不同发现方式发现的行星,绘制各行星的距离和质量的关系。

从输出结果可以看出,凌日和径向速度对距离较为敏感,远距离的行星大多是通过凌日发现的,而近距离的行星大多数通过径向速度发现的。原因是:近距离的行星其引力对恒星造成的摆动更为明显,因此更容易观察;当距离较远时,引力作用变弱,摆动效应减弱,因此很难借助此方法观察到行星。同时,可以观察到当行星质量更大时,其距离分布相对较宽,这是因为虽然相对恒星的距离变长了,但是由于行星质量的增加,相对引力也同步增加,恒星摆动效应会变得明显。

将所有行星的质量和半径对数化处理,绘制其分布并拟合其分布。

由于:

因此,从原理上质量对数与半径对数应该是线性关系,且斜率为定值 3 ,截距的大小与密度相关。

从输出结果可以看出:行星质量和行星半径在对数变换下,具有较好的线性关系。输出 fix_xy 数值可知,其关系可以拟合出如下公式:

拟合出曲线对应的行星平均密度为:

同样的方式绘制恒星质量与半径的关系。

从输出结果可以看出,恒星与行星的规律不同,其质量与半径在对数下呈二次曲线关系,其关系符合以下公式:

同样的方式研究恒星表面重力加速度与半径的关系。

从输出结果可以看出,恒星表面对数重力加速度与其对数半径呈现较好的线性关系:

以上我们分别探索了各变量的分布和部分变量的相关关系,当数据较多时,可以通过 pd.plotting.scatter_matrix 接口,直接绘制各变量的分布和任意两个变量的散点图分布,对于数据的初步探索,该接口可以让我们迅速对数据全貌有较为清晰的认识。

通过行星的半径和质量,恒星的半径和质量,以及行星的公转周期等指标与地球的相似性,寻找诸多行星中最类似地球的行星。

从输出结果可以看出,在 0.6 附近的位置出现了一个最大的圆圈,那就是我们找到的类地行星 Kepler - 452 b ,让我们了解一下这颗行星:

数据显示,Kepler - 452 b 行星公转周期为 384.84 天,半径为 1.63 地球半径,质量为 3.29 地球质量;它的恒星为 Kepler - 452 半径为太阳的 1.11 倍,质量为 1.04 倍,恒星方面数据与太阳相似度极高。

以下内容来自百度百科。 开普勒452b(Kepler 452b) ,是美国国家航空航天局(NASA)发现的外行星, 直径是地球的 1.6 倍,地球相似指数( ESI )为 0.83,距离地球1400光年,位于为天鹅座。

2015 年 7 月 24 日 0:00,美国国家航空航天局 NASA 举办媒体电话会议宣称,他们在天鹅座发现了一颗与地球相似指数达到 0.98 的类地行星开普勒 - 452 b。这个类地行星距离地球 1400 光年,绕着一颗与太阳非常相似的恒星运行。开普勒 452 b 到恒星的距离,跟地球到太阳的距离相同。NASA 称,由于缺乏关键数据,现在不能说 Kepler - 452 b 究竟是不是“另外一个地球”,只能说它是“迄今最接近另外一个地球”的系外行星。

在银河系经纬度坐标下绘制所有行星,并标记地球和 Kepler - 452 b 行星的位置。

类地行星,是人类寄希望移民的第二故乡,但即使最近的 Kepler-452 b ,也与地球相聚 1400 光年。

以下通过行星的公转周期和质量两个特征将所有行星聚为两类,即通过训练获得两个簇心。

定义函数-计算距离

聚类距离采用欧式距离:

定义函数-训练簇心

训练簇心的原理是:根据上一次的簇心计算所有点与所有簇心的距离,任一点的分类以其距离最近的簇心确定。依此原理计算出所有点的分类后,对每个分类计算新的簇心。

定义函数预测分类

根据训练得到的簇心,预测输入新的数据特征的分类。

开始训练

随机生成一个簇心,并训练 15 次。

绘制聚类结果

以最后一次训练得到的簇心为基础,进行行星的分类,并以等高面的形式绘制各类的边界。

从运行结果可以看出,所有行星被分成了两类。并通过上三角和下三角标注了每个类别的簇心位置。

聚类前

以下输出了聚类前原始数据绘制的图像。

用Python画星空图,并且要求有月亮

import turtle as t

from random import randint

def five(size):for a in range(5):t.forward(size);t.right(144)

def moon(size):t.circle(size)#半径

t.pencolor("yellow")

t.penup()

t.goto(100,100)

t.pendown()

moon(4)

for a in range(10):t.penup();t.goto(randint(100,0),randint(100,0));t.pendown();five(randint(1,3))

还可以再改进改进。

cyber软件赛博朋克视频特效公式

大家好,我是阿潘,今天跟大家分享一个赛博朋克特效的实现算法0404e422c9bfe85c6c8a763d491d2539.png

为了写好这篇文章, 找了很多资料, 如果对你有帮助的话, 帮忙分享一波, 支持一下, 感谢!!!

主要内容:

1、什么是赛博朋克风格

2、PS 如何做出赛博朋克风格

3、使用opencv 实现

1、什么是赛博朋克风格

根据维基百科上面的描述:赛博朋克(Cyberpunk)是反乌托邦未来主义背景中的科幻小说的一个子流派,倾向于关注“下层社会生活和高科技的结合”,以人工智能和控制论等未来主义技术和科学成就为特色,与社会崩溃、反乌托邦并列或衰退

英文原文:

Cyberpunk is a subgenre of science fiction in a dystopian futuristic setting that tends to focus on a "combination of lowlife and high tech",[1] featuring futuristic technological and scientific achievements, such as artificial intelligence and cybernetics, juxtaposed with societal collapse, dystopia or decay

欣赏一下

0dba413e788fddd4ca03227144629749.jpeg

230564bb4df2ee893f30117048b478b0.jpeg

2、PS 如何做出赛博朋克风格

上面描述赛博朋克的定义,但是我们想要的是赛博朋克的风格实现,因此,需要查了一下,在利用 p 图软件(PS)中是如何实现的。

简单来说,我们需要了解赛博朋克的画风具体是什么样子的。

赛博朋克风格在视觉设计中的特点就是蓝、紫、青等冷色调为主色调,霓虹灯光感效果为辅助,故障艺术风为辅助(图像的失真、错位、破碎等) ,有时还可以加一些异常的现象比如180度翻转的建筑,还有复古风和未来风并存。

具体思路:

1、让画面呈现冷色调

2、具有对比效果的冷暖色调,颜色花哨(色相、饱和度、明亮度)

2.1 让红色更偏洋红,橙黄色都往红色靠拢,蓝色紫色都偏青

2.2 所有的颜色往洋红和青蓝色上面调

2.3 再加一层纯色滤镜,颜色选择偏紫色,介于蓝色红色之间,可以更好的平衡色彩

以上是PS 大佬的 PS 具体操作流程,翻译成自己能理解的技术方案

1、opencv 实现冷色调

2、让整体图片往一些特殊的颜色上靠

3、使用opencv 实现

首先介绍一个好用的网站:

4e4f325dfd020013b1674c44069c312d.png

可以直接通过调整HSL空间的值,来查看 RGB 色彩空间对应的值,比起放公式,会直观很多。

另外简单介绍一下,我们这里会用到的两个色彩空间,HSL 和 LAB (主要目的是为了让我们将颜色映射到目标颜色的值区间,下面会考 8e0d4c8db4ef4b7af093225966639e9f.png)

HSL 色相(Hue)、饱和度(Saturation)、亮度(Lightness)

5c8995b0956a1633656d77b1cea88512.png

LAB 亮度(L)、绿红(a)、蓝黄(b)

67e1b9ae130f6b78eb0774df3054da4a.jpeg

这里需要注意的是,很多内容都会提到这两个色彩空间,以及对应的值范围,但是在 opencv 中 会值做一些特定的映射!!!

例如,我们上面提供的工具网页 w3school ,显示的 hsl 的值范围和实际上 opencv的值范围并不一样(这里你可以试着写一个代码来验证)

h : 0 - 360 ? OpenCV range = H/2 (0 H 180)

s : 0 - 1 ? OpenCV range = 255*S (0 S 255)

l : 0 - 1 ? OpenCV range = 255*l (0 S 255)

对于 Lab 也是如此

0 L 100 ? OpenCV range = L*255/100 (1 L 255)

-127 a 127 ? OpenCV range = a + 128 (1 a 255)

-127 b 127 ? OpenCV range = b + 128 (1 b 255)

为了更加清晰的看到不同色彩空间中,每个通道对分离并查看其对最终显示效果的贡献(以下示意图来源: )

HSV(因为没有找 HSL,所以用 HSV 代替)

6c0fe5dce742f94a81bf5051fa537013.png

原始图像 (a) 及其颜色通道:色调 (b)、饱和度 (c) 和值或亮度 (d)。在第二行,每个通道分别为灰度(单通道图像)。

L*a*b or CIE Lab

cfcea0e8cd262cfb5127970d5901ab3f.png

原始图像 (a) 及其颜色通道:亮度 (b)、a 维 (c) 和 b 维 (d)。在第二行,每个通道分别为灰度(单通道图像)。

这个时候,可能会有一个疑问,这有什么用?

以 Lab 为例,可以看到:

a 维度(c图) 控制颜色的变化范围是 绿 -- 红

b 维度(d图) 控制颜色的变化范围是 黄 -- 蓝

对照 Lab 的色彩空间(就是那个球),以及我们目标的颜色范围(蓝、紫、青、红),那么我们只需要将对应色彩空间中的值,调整到目标颜色的范围即可实现!!!

现在梳理一下我们的目标:

1、将图片调整成冷色调、

2、可以利用 hsl 将颜色值控制在 (蓝、紫、青、红) 的区间,通过 w3schools 网站可视化,我们可以看到 (蓝、紫、青、红)的值范围是在180-360,映射到opencv中的值范围就变成了 90-180

3、同样的,利用 Lab 再次调整颜色到目标颜色的值范围(个人感觉另一个目的是通过不同色彩空间的调整让最终结果色彩更加的丰富)

效果展示 参考资料

原图:

471d8de867d5b6222a8899896ae12cda.png

效果图:

97fb63d96600dc8050f22f8ca9286578.jpeg

看到这里的小伙伴,可以赏个三连(点赞 + 在看 + 分享),代码部分将会在下周分享出来(周末搞一波!!!7f410956447cce706344dec3863ecdb0.png)

参考资料:

努力分享优质的计算机视觉相关内容,欢迎关注:

交流群

欢迎加入公众号读者群一起和同行交流,目前有美颜、三维视觉、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群

个人微信(如果没有备注不拉群!)

请注明:地区+学校/企业+研究方向+昵称

下载1:何恺明顶会分享

在「AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析

下载2:终身受益的编程指南:Google编程风格指南

在「AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!

下载3 CVPR2022

在「AI算法与图像处理」公众号后台回复:CVPR,即可下载1467篇CVPR 2020论文 和 CVPR 2021 最新论文

3b888d51537972b04045fa29ea775bd4.gif

文章知识点与官方知识档案匹配

算法技能树首页概览

35848 人正在系统学习中

点击阅读全文

打开CSDN APP,看更多技术内容

unity shader 赛博朋克特效

unity shader 赛博朋克特效

最新发布 仅用CSS几步实现赛博朋克2077风格视觉效果

仅用CSS几步实现赛博朋克2077风格视觉效果 背景 文章开始之前先简单了解下什么是赛博朋克,以及什么是赛博朋克2077。 赛博朋克(Cyberpunk)是“控制论、神经机械学”与“朋克”的结合词,背景大都建立于“低端生活与高等科技的结合”,拥有先进的科学技术,再以一定程度崩坏的社会结构做对比;拥有五花八门的视觉冲击效果,如街头的霓虹灯、街排标志性广告以及高楼建筑等,通常搭配色彩是...

继续访问

python 艺术照片滤镜_Python 图像处理:滤镜之赛博朋克

赛博朋克滤镜实现Python 代码import cv2import numpy as npdef cyberpunk(image):# 反转色相image_hls = cv2.cvtColor(image, cv2.COLOR_BGR2HLS)image_hls = np.asarray(image_hls, np.float32)hue = image_hls[:, :, 0]hue[hue ...

继续访问

数字平原搭建赛博朋克风城市夜景

数字平原搭建赛博朋克风城市夜景 C4d作为一款三维制作软件,具有建模材质灯光绑定动画渲染等多样功能。这次数字平原林工将赛博朋克风格为元素,结合c4d制作赛博朋克城市作品,该作品有着概念艺术场景的设定。赛博朋克风格定义是有着摩肩接踵的高楼大厦,与破败不堪的贫民窟并存,闪烁的霓虹灯,广告牌令人眼花缭乱,还有高科技武器,MR客服,飞行的交通工具等,充满了未来感的风格。 接下来林工带来的赛博朋克城市制作过程 第一步3d建模 找到相关的建筑材料参考,在Photoshop中构建建筑的简单形状,之后.

继续访问

热门推荐 高品质后处理:十种图像模糊算法的总结与实现

本文由@浅墨_毛星云出品,转载请注明出处 CSDN版文章链接: 知乎专栏版文章链接: 后处理(Post-Processing),在图形学...

继续访问

Unity Shader 赛博朋克效果

一、效果图 1、原图 加滤镜 原理 获取颜色GRB的值,加深的数值,红色加强绿色减弱。 工程源码

继续访问

赛博朋克版特效shader

关于学习老师的有点科幻的特效小人shader的学习

继续访问

CSS特效 - 赛博朋克故障霓虹灯 clip-path 实现

实现效果 实现原理 (0) 为故障霓虹灯盒子添加before和after,两者content="赛博朋克 2077"重叠显示 (1) 字体橙色与绿色的边缘使用 box-shadow: 水平距离 垂直距离 阴影大小 颜色实现 (3) 鼠标划入触发故障动画 (4) 故障动画原理是使用 CSS3 clip-path 属性实现 clip-path 作用是指定显示区域大小 clip-path: top left bottom right; (5) 当前 gif 效果是 从上到下 显示区域变化 并且 trans

继续访问

仅用 CSS 实现赛博朋克 2077 风格视觉效果

点击上方关注前端技术江湖,一起学习,天天进步作者dragonir原文链接:文章开始之前先简单了解下...

继续访问

使用Three.js实现炫酷的赛博朋克风格3D数字地球大屏

声明:本文涉及图文和模型素材仅用于个人学习、研究和欣赏,请勿二次修改、非法传播、转载、出版、商用、及进行其他获利行为。背景近期工作有涉及到数字大屏的需求,于是利用业余时间,结合 Three.js 和 CSS实现赛博朋克2077风格视觉效果[2] 实现炫酷 3D 数字地球大屏页面。页面使用 React + Three.js + Echarts + stylus 技术栈,本文涉及到的主要知识点包括:T...

继续访问

AE赛博朋克 超炫酷赛博朋克HUD元素动画AE特效模板素材

如果您不知道我们在说什么,只需Google下即可。这个包是初学者和专业人士的完美选择。AE模板可帮助您制作具有超酷动画形状,赛博朋克和Hitech HUD元素的视频。可以在After Effects中轻松混合,匹配和自定义所有这些模板。包含了所有创意动画视频和游戏的必备赛博朋克动作元素包。涵盖了所有类型的项目。元素动画AE特效模板素材 Cyberpunk HUD Elements。自定义颜色以与您的项目匹配HUD元素。所有项目的可编辑且易于使用的设置。将所有元素与任何素材混合在一起。

继续访问

程序员集体换电脑?没有男生能拒绝《赛博朋克2077》!

一座五光十色的大都会权力更迭和身体改造是永恒的主题一名野心勃勃的雇佣兵正在追寻一种独一无二的植入体只要得到它,就能获得永生的关键历时8年,通往夜之城的大门终于打开。12月10日,由波兰游...

继续访问

官方配置要求_赛博朋克2077的推荐配置和最低配置

赛博朋克2077官方配置要求赛博朋克2077官方配置要求不久前赛博朋克在其官方网站发布了最新的电脑配置要求(台式机),比以往大家所猜测的配置要求要来得低一些,下面这份赛博朋克2077官方电脑配置要求,特别要注意的其实只有两个地方,一个是CPU,一个是显卡,其他的配件基本不会造成太大影响。最低配置是什么意思?最低配置就是可以流畅玩游戏,一般是指某个特定分辨率下(1080p:1920*108...

继续访问

闲聊赛博朋克2077

为什么提笔 前一阵子入了赛博朋克2077,从序章任务的心情澎湃,到被bug折磨到痛不欲生(ps4 pro主机版本),再到最后结局的怅然若失,还是想说几句,记录一下这几天赛博朋克的时光。 闲余小思 最后的结局,我选择的是星星解决,即会和女友帕南一起,面对荒坂,离开夜之城。这应该是我最喜欢的解决了,V之所以可以是V,那么他一定不会和荒坂妥协的,而且这一定也是银手所不愿意看到的。至于为什么没有把身体交给银手,这是因为帕南爱的是V,而不是被强尼占据了身体的V。既然选择了和帕南一起面对这些,那么帕南也一定会希望从神舆

继续访问

后科技时代—赛博朋克2077

跳票多次终于还是来了,发售之日便收回成本这几乎是前无古人后无来者,这样一款现象级大作,我肯定也是忍不住滴,而且我的台式机配置还不错,一直没找到真正发挥作用的机会,终于借此机会,一赌大作风采! 前言 由于波兰蠢驴发行游戏时并没有采取加密,也就是说作为单机游戏的《赛博朋克2077》,盗版瞬间就满天飞了,不过蠢驴貌似也是故意的,前期的宣发加自身质量注定这游戏是要大赚的,且后期的DLC也会让他们赚的盆满钵满。那不用担心收益,还需考虑什么呢?传播度!我觉得他们的目标是制作一款《GTA》级别的游戏,不仅好玩,而...

继续访问

xd羽化怎么调_【Cyberpunk】用一加轻松调出赛博朋克风XD

本帖最后由 喵灬帕斯 于 2020-11-21 20:08 编辑Cyberpunk x OnePlus.jpg (156.03 KB, 下载次数: 0)11-06 00:48 上传CYBERPUNK|赛博朋克Cyber指的是未来(Future),是一种科技,一种秩序Punk指的是色彩(Color),是一种自由表达,一种去追求你想做任何事的决心赛博朋克调色主基调是青蓝色和洋红色,洋红色展现的是旧时代...

继续访问

css网站新闻,5个 CSS 特效实现和发现灵感网站推荐

作者 |张旭乾 责编 | 欧阳姝黎作为一名前端工程师,经常在写完 HTML 以后,才觉得真正的噩梦要开始了,啊,写 CSS 的时候,面对满屏乱飞的组件,真想手动给他们挪到该在位置上……都说 CSS 很难掌握,最愁给页面编写样式,其实都是因为还没有形成一个对 CSS 宏观的了解,只要有了正确的学习方法、设计思维,再通过不断的积累,就能轻松的掌握它。接下来我会把掌握 CSS 的 5 个技巧...

继续访问

浅谈游戏《武士刀:零》——赛博朋克风格城市中的刀光剑影

序言 新年伊始,首先祝大家2020年身体健康,一切顺利。本次想要聊一聊的是刚刚通关不久的小品级赛博朋克风格独立游戏《武士刀:零》(KATANA:ZERO)。 赛博朋克风格与第零号武士 近年来,随着《赛博朋克2077》的发售即将到来,“赛博朋克”这一概念逐渐为大众所熟知,以“赛博朋克”为故事背景的游戏也逐渐进入玩家的视野,比如《黑色未来1988》,《VA-11 Hall-A: 赛博朋克酒保行动》,...

继续访问

算法

人工智能

python

写评论

评论

2

1

分享

Python:这有可能是最详细的PIL库基本概念文章了

PIL有如下几个模块:Image模块、ImageChops模块、ImageCrackCode模块、ImageDraw模块、ImageEnhance模块、ImageFile模块、ImageFileIO模块、ImageFilter模块、ImageFont模块、ImageGrab模块、ImageOps模块、ImagePath模块、ImageSequence模块、ImageStat模块、ImageTk模块、ImageWin模块、PSDraw模块

啊啊啊啊怎么这么多模块啊~~~!!!!

别担心我为你一一讲解

Image模块提供了一个相同名称的类,即image类,用于表示PIL图像。

Image模块是PIL中最重要的模块 ,比如创建、打开、显示、保存图像等功能,合成、裁剪、滤波等功能,获取图像属性功能,如图像直方图、通道数等。

Image模块的使用如下:

ImageChops模块包含一些算术图形操作,这些操作可用于诸多目的,比如图像特效,图像组合,算法绘图等等,通道操作只用于8位图像。

ImageChops模块的使用如下:

由于图像im_dup是im的复制过来的,所以它们的差为0,图像im_diff显示时为黑图。

ImageCrackCode模块允许用户检测和测量图像的各种特性。 这个模块只存在于PIL Plus包中。

因为我目前安装的PIL中没有包含这个模块。所以就不详细介绍了

ImageDraw模块为image对象提供了基本的图形处理功能。 例如,它可以创建新图像,注释或润饰已存在图像,为web应用实时产生各种图形。

ImageDraw模块的使用如下:

在del draw前后显示出来的图像im是完全一样的,都是在原有图像上画了两条对角线。

原谅我的报错

ImageEnhance模块包括一些用于图像增强的类。它们分别为 Color类、Brightness类、Contrast类和Sharpness类。

ImageEnhance模块的使用如下:

图像im0的亮度为图像im的一半。

ImageFile模块为图像打开和保存功能提供了相关支持功能。另外,它提供了一个Parser类,这个类可以一块一块地对一张图像进行解码(例如,网络联接中接收一张图像)。这个类的接口与标准的sgmllib和xmllib模块的接口一样。

ImageFile模块的使用如下:

因为所打开图像大小大于1024个byte,所以报错:图像不完整。

所以大家想看的可以自行去找一个小一点的图看一下

ImageFileIO模块用于从一个socket或者其他流设备中读取一张图像。 不赞成使用这个模块。 在新的code中将使用ImageFile模块的Parser类来代替它。

ImageFilter模块包括各种滤波器的预定义集合,与Image类的filter方法一起使用。该模块包含这些图像增强的滤器:BLUR,CONTOUR,DETAIL,EDGE_ENHANCE,EDGE_ENHANCE_MORE,EMBOSS,FIND_EDGES,SMOOTH,SMOOTH_MORE和SHARPEN。

ImageFilter模块的使用如下:

ImageFont模块定义了一个同名的类,即ImageFont类。这个类的实例中存储着bitmap字体,需要与ImageDraw类的text方法一起使用。

PIL使用自己的字体文件格式存储bitmap字体。用户可以使用pilfont工具包将BDF和PCF字体描述器(Xwindow字体格式)转换为这种格式。

PIL Plus包中才会支持矢量字体。

ImageGrab模块用于将屏幕上的内容拷贝到一个PIL图像内存中。 当前的版本只在windows操作系统上可以工作。

ImageGrab模块的使用如下:

图像im显示出笔记本当前的窗口内容,就是类似于截图的工具

ImageOps模块包括一些“ready-made”图像处理操作。 它可以完成直方图均衡、裁剪、量化、镜像等操作 。大多数操作只工作在L和RGB图像上。

ImageOps模块的使用如下:

图像im_flip为图像im垂直方向的镜像。

ImagePath模块用于存储和操作二维向量数据。Path对象将被传递到ImageDraw模块的方法中。

ImagePath模块的使用如下:

ImageSequence模块包括一个wrapper类,它为图像序列中每一帧提供了迭代器。

ImageSequence模块的使用如下:

后面两次show()函数调用,分别显示第1张和第11张图像。

ImageStat模块计算一张图像或者一张图像的一个区域的全局统计值。

ImageStat模块的使用如下:

ImageTk模块用于创建和修改BitmapImage和PhotoImage对象中的Tkinter。

ImageTk模块的使用如下:

这个是我一直不太懂的有没有大佬能帮我解决一下在线等~急!

PSDraw模块为Postscript打印机提供基本的打印支持。用户可以通过这个模块打印字体,图形和图像。

PIL中所涉及的基本概念有如下几个: 通道(bands)、模式(mode)、尺寸(size)、坐标系统(coordinate system)、调色板(palette)、信息(info)和滤波器(filters)。

每张图片都是由一个或者多个数据通道构成。PIL允许在单张图片中合成相同维数和深度的多个通道。

以RGB图像为例,每张图片都是由三个数据通道构成,分别为R、G和B通道。而对于灰度图像,则只有一个通道。

对于一张图片的通道数量和名称,可以通过getbands()方法来获取。getbands()方法是Image模块的方法,它会返回一个字符串元组(tuple)。该元组将包括每一个通道的名称。

Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

getbands()方法的使用如下:

图像的模式定义了图像的类型和像素的位宽。当前支持如下模式:

1:1位像素,表示黑和白,但是存储的时候每个像素存储为8bit。

L:8位像素,表示黑和白。

P:8位像素,使用调色板映射到其他模式。

I:32位整型像素。

F:32位浮点型像素。

RGB:3x8位像素,为真彩色。

RGBA:4x8位像素,有透明通道的真彩色。

CMYK:4x8位像素,颜色分离。

YCbCr:3x8位像素,彩色视频格式。

PIL也支持一些特殊的模式,包括RGBX(有padding的真彩色)和RGBa(有自左乘alpha的真彩色)。

可以通过mode属性读取图像的模式。其返回值是包括上述模式的字符串。

mode 属性 的使用如下:

通过size属性可以获取图片的尺寸。这是一个二元组,包含水平和垂直方向上的像素数。

mode属性的使用如下:

PIL使用笛卡尔像素坐标系统,坐标(0,0)位于左上角。注意:坐标值表示像素的角;位于坐标(0,0)处的像素的中心实际上位于(0.5,0.5)。

坐标经常用于二元组(x,y)。长方形则表示为四元组,前面是左上角坐标。例如:一个覆盖800x600的像素图像的长方形表示为(0,0,800,600)。

调色板模式 ("P")使用一个颜色调色板为每个像素定义具体的颜色值

使用info属性可以为一张图片添加一些辅助信息。这个是字典对象。加载和保存图像文件时,多少信息需要处理取决于文件格式。

info属性的使用如下:

对于将多个输入像素映射为一个输出像素的几何操作,PIL提供了4个不同的采样滤波器:

NEAREST:最近滤波。 从输入图像中选取最近的像素作为输出像素。它忽略了所有其他的像素。

BILINEAR:双线性滤波。 在输入图像的2x2矩阵上进行线性插值。注意:PIL的当前版本,做下采样时该滤波器使用了固定输入模板。

BICUBIC:双立方滤波。 在输入图像的4x4矩阵上进行立方插值。注意:PIL的当前版本,做下采样时该滤波器使用了固定输入模板。

ANTIALIAS:平滑滤波。 这是PIL 1.1.3版本中新的滤波器。对所有可以影响输出像素的输入像素进行高质量的重采样滤波,以计算输出像素值。在当前的PIL版本中,这个滤波器只用于改变尺寸和缩略图方法。

注意:在当前的PIL版本中,ANTIALIAS滤波器是下采样 (例如,将一个大的图像转换为小图) 时唯一正确的滤波器。 BILIEAR和BICUBIC滤波器使用固定的输入模板 ,用于固定比例的几何变换和上采样是最好的。Image模块中的方法resize()和thumbnail()用到了滤波器。

resize()方法的定义为:resize(size, filter=None)= image

resize()方法的使用如下:

对参数filter不赋值的话,resize()方法默认使用NEAREST滤波器。如果要使用其他滤波器可以通过下面的方法来实现:

thumbnail ()方法的定义为:im.thumbnail(size, filter=None)

thumbnail ()方法的使用如下:

这里需要说明的是,方法thumbnail()需要保持宽高比,对于size=(200,200)的输入参数,其最终的缩略图尺寸为(182, 200)。

对参数filter不赋值的话,方法thumbnail()默认使用NEAREST滤波器。如果要使用其他滤波器可以通过下面的方法来实现:

python实现樱花特效出不来结果

程序出现bug。Python由荷兰数学和计算机科学研究学会的GuidovanRossum于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程,用python做樱花特效失败的原因是程序出现bug,Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

(责任编辑:IT教学网)

更多

推荐DNS服务器文章