实验:Python图形图像处理
1. 准备一张照片,编写Python程序将该照片进行图像处理,分别输出以下效果的图片:(a)灰度图;(b)轮廓图;
(c)变换RGB通道图;(d)旋转45度图。
2. 假设当前文件夹中data.csv文件中存放了2020年某饭店营业额,第一列为日期(如2020-02-03),第二列为每天交易额(如3560),文件中第一行为表头,其余行为实
际数据。编写程序,完成下面的任务,要求对结果图形进行适当的美化:
(1)使用pandas读取文件data.csv中的数据,创建DataFrame对象,并删除其中所有的缺失值;
(2)绘制第1个月的营业额折线图,反映饭店每天的营业额情况,并把图形保存为本地文件day.jpg;
(3)按月份进行统计,绘制柱状图显示每个月份的营业额,并把图形保存为本地文件month.jpg;
(4)按季度统计该饭店2020年的营业额数据,绘制饼状图显示4个季度的营业额分布情况,并把图形保存为本地文件quarter.jpg。
1. 准备一张照片编写Python程序将该照片进行图像处理,分别输出以下效果的图片:(a)灰度图;(b)轮廓图;
# (c)变换RGB通道图;(d)旋转45度图。
from PIL import Image
from PIL import ImageFilter
im = Image.open('1.jpg')
gray = im.convert('L')
rpg = im.convert("RGB")
xz = im.rotate(45)
om = im.filter(ImageFilter.CONTOUR)
gray.save('a.jpg')
om.save('b.jpg')
rpg.save('c.jpg')
xz.save('d.jpg')
# 2. 假设当前文件夹中data.csv文件中存放了2020年某饭店营业额,第一列为日期(如2020-02-03),第二列为每天交易额(如3560),文件中第一行为表头,其余行为实
# 际数据。编写程序,完成下面的任务,要求对结果图形进行适当的美化:
# (1)使用pandas读取文件data.csv中的数据,创建DataFrame对象,并删除其中所有的缺失值;
# (2)绘制第1个月的营业额折线图,反映饭店每天的营业额情况,并把图形保存为本地文件day.jpg;
# (3)按月份进行统计,绘制柱状图显示每个月份的营业额,并把图形保存为本地文件month.jpg;
# (4)按季度统计该饭店2020年的营业额数据,绘制饼状图显示4个季度的营业额分布情况,并把图形保存为本地文件quarter.jpg。
import matplotlib
import pandas
import matplotlib.pyplot as plt matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # pyplot中文显示
df = pandas.read_csv("data.csv", engine='python')
df['日期'] = pandas.to_datetime(df['日期'])
df[['交易额']] = df[['交易额']].astype(float) # 将交易额转换为float类型
df = df.dropna() # 去除缺失行 plt.figure()
df1 = df.head(31) # 取第一个月
df1.plot(x='日期') # 画图,以日期为x轴
plt.savefig('day.jpg') plt.figure()
df2 = df
df2['月份'] = df2['日期'].map(lambda x: x.month) # 提取出月份
df2 = df2.groupby(by='月份', as_index=False).sum() # as_inside=False不把month作为新的index,分组求和
df2.plot(x='月份', kind='bar', y='交易额')
plt.savefig('month.jpg') plt.figure()
one = df2[:3]['交易额'].sum()
two = df2[3:6]['交易额'].sum()
three = df2[6:9]['交易额'].sum()
four = df2[9:12]['交易额'].sum()
plt.pie([one, two, three, four], labels=['第一季度', '第二季度', '第三季度', '第四季度'])
plt.savefig('quarter.jpg')
实验:Python图形图像处理的更多相关文章
- Python图形图像处理库的介绍之Image模块
http://onlypython.group.iteye.com/group/wiki/1372-python-graphics-image-processing-library-introduce ...
- python图形图像处理--验证码的制作
from PIL import Image,ImageDraw,ImageFontimport randomfrom io import BytesIO class code(): def __ini ...
- python PIL 图像处理
python PIL 图像处理 This blog is from: https://www.jianshu.com/p/e8d058767dfa Image读出来的是PIL的类型,而skimage. ...
- HTML5图形图像处理技术研究
摘要:图形图像处理平台大部分是传统的C/S架构的桌面应用程序,维护困难,共享性差,而B/S架构的Web程序具有易维护.易共享的优点.本文研究了基于HTML5的Web图形图像处理技术,用HTML5实现了 ...
- python数字图像处理(17):边缘与轮廓
在前面的python数字图像处理(10):图像简单滤波 中,我们已经讲解了很多算子用来检测边缘,其中用得最多的canny算子边缘检测. 本篇我们讲解一些其它方法来检测轮廓. 1.查找轮廓(find_c ...
- C&C++图形图像处理开源库
Google三维APIO3D O3D 是一个开源的 WebAPI 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准.此格式期望真正的基于浏览器,独立于操作系统之外, ...
- 用Python做图像处理
转自:http://blog.csdn.net/gzlaiyonghao/article/details/1852726 最近在做一件比较 evil 的事情——验证码识别,以此来学习一些新的技能.因 ...
- python skimage图像处理(一)
python skimage图像处理(一) This blog is from: https://www.jianshu.com/p/f2e88197e81d 基于python脚本语言开发的数字图片处 ...
- python skimage图像处理(二)
python skimage图像处理(二) This blog is from: https://www.jianshu.com/p/66e6261f0279 图像简单滤波 对图像进行滤波,可以有两 ...
随机推荐
- Java 中如何格式化一个日期?如格式化为 ddMMyyyy 的形式?
Java 中,可以使用 SimpleDateFormat 类或者 joda-time 库来格式日期. DateFormat 类允许你使用多种流行的格式来格式化日期.参见答案中的示例代 码,代码中演示了 ...
- 创建Maven web工程
---恢复内容开始--- 第一步,启动Eclipse,依次打开菜单[File][New][Other] 找到目录Maven,选择Maven Project, 选择一个Archetype.这里创建Web ...
- Leetcode刷题之链表增加头结点的前缀节点
链表之增加头结点的前缀节点 在许多链表题中往往需要在题目给的头结点之前增加一个前缀节点 通常在删除链表和头结点需要交换时需要用到这一操作 因为增加这个节点就避免了对删除头结点这种特殊情况的特殊处理 而 ...
- 使用jenkins实现前端自动化打包部署(Linux版本)
我们这边好多小组觉得每次测试人员叫我们开发打包部署到某某个测试环境人工操作比较麻烦,因为他们想做到只专注于开发,不管这些琐碎的事.于是有个组长问我前端能不能用Jenkins去执行这一个固定的流程,因为 ...
- HTML5 Performance
简介 performance是html5的新特性之一,通过它,页面的开发者们可以非常精确的统计到自己页面的表现情况,从而有针对性的进行优化,提升用户体验. 下面是小姐姐对performance相关AP ...
- 前端面试题整理——手写AJAX
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 老版本的Spring应用该如何应对CVE-2022-22965漏洞?
昨天,在发布了<Spring官宣承认网传大漏洞,并提供解决方案>之后.群里就有几个小伙伴问了这样的问题:我们的Spring版本比较老,该怎么办?这是一个好问题,所以DD今天单独拿出来说说. ...
- java中Number Type Casting(数字类型强转)的用法
4.5 Number Type Casting(数字类型强转)隐式 casting(from small to big) byte a = 111; int b = a;显式 casting(from ...
- VMware workstation16 许可证
ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2DXQE-M2UT6 ZF71R-DMX85-08DQY-8YMNC-PPHV8 若资金允许,请购买正 ...
- Spring Boot-@PropertySource注解
@PropertySource:加载自己手动编写的资源文件 有关@ConfigurationProperties注解的作用请访问Spring Boot-@Value获取值和@Configuration ...