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图形图像处理的更多相关文章

  1. Python图形图像处理库的介绍之Image模块

    http://onlypython.group.iteye.com/group/wiki/1372-python-graphics-image-processing-library-introduce ...

  2. python图形图像处理--验证码的制作

    from PIL import Image,ImageDraw,ImageFontimport randomfrom io import BytesIO class code(): def __ini ...

  3. python PIL 图像处理

    python PIL 图像处理 This blog is from: https://www.jianshu.com/p/e8d058767dfa Image读出来的是PIL的类型,而skimage. ...

  4. HTML5图形图像处理技术研究

    摘要:图形图像处理平台大部分是传统的C/S架构的桌面应用程序,维护困难,共享性差,而B/S架构的Web程序具有易维护.易共享的优点.本文研究了基于HTML5的Web图形图像处理技术,用HTML5实现了 ...

  5. python数字图像处理(17):边缘与轮廓

    在前面的python数字图像处理(10):图像简单滤波 中,我们已经讲解了很多算子用来检测边缘,其中用得最多的canny算子边缘检测. 本篇我们讲解一些其它方法来检测轮廓. 1.查找轮廓(find_c ...

  6. C&C++图形图像处理开源库

    Google三维APIO3D O3D 是一个开源的 WebAPI 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准.此格式期望真正的基于浏览器,独立于操作系统之外, ...

  7. 用Python做图像处理

    转自:http://blog.csdn.net/gzlaiyonghao/article/details/1852726  最近在做一件比较 evil 的事情——验证码识别,以此来学习一些新的技能.因 ...

  8. python skimage图像处理(一)

    python skimage图像处理(一) This blog is from: https://www.jianshu.com/p/f2e88197e81d 基于python脚本语言开发的数字图片处 ...

  9. python skimage图像处理(二)

    python skimage图像处理(二) This blog is from: https://www.jianshu.com/p/66e6261f0279  图像简单滤波 对图像进行滤波,可以有两 ...

随机推荐

  1. mybatis源码之我见

    以前一直想看mybatis的源代码,但是一直没找到入口(傻),最近看教程,有些感悟. 和起以前一样,关键代码我会用红色标记. 首先,先贴下我的dao和mapper,代码很简单,和平时写的hello w ...

  2. Saltstack自动化扩容

    一. etcd服务的安装和使用 1.安装etcd应用: wget https://github.com/coreos/etcd/releases/download/v2.2.5/etcd-v2.2.5 ...

  3. nginx优化的一些建议

    1.1隐藏Nginx header里版本号信息 1.查看版本号 curl -I 127.0.0.1 HTTP/1.1 200 OK Server: nginx/1.6.2 Date: Sat, 14 ...

  4. Solution Architect

    Solution Architect How to become a solution architect - CareerExplorer What does a solution architec ...

  5. 关于CDN那些事

    对于前端性能优化我们不得不了解的几个知识点:CDN.HTTP header信息 今天我就来谈谈我对cdn的理解 1.CDN是什么:CDN全称是Content Delivery Network,即内容分 ...

  6. js读取cookie 根据cookie名称获取值的方法

    //方法1 //存在问题:如果cookie中存在 aaaname=aa;name=bb 获取name的值就会出现错误function getCookie(c_name){ if (document.c ...

  7. linux vim编辑器使用

    小i 在光标所在行位置停止不动开始写入内容 大I 在光标所在行行首开始写入内容 小a 在光标所在行当前字符后开始写入内容 大A 在光标所在行行尾开始写入内容 小o 在光标所在行下一行开始写入内容 大O ...

  8. 浅谈ES6中的Async函数

    转载地址:https://www.cnblogs.com/sghy/p/7987640.html 定义:Async函数是一个异步操作函数,本质上,Async函数是Generator函数的语法糖.asy ...

  9. Python入门-第一行代码到多行代码

    不管学啥语言,开始的第一行代码都是: print("hello word") 回车之后,就代表你正式进入代码的世界! 如果报错,恭喜你获得第一个书写bug,请检查单词拼写,双引号, ...

  10. SpringMVC获取请求参数-基本类型

    1.Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配 (json形式) <dependency> <groupId>com.faste ...