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

利用 Python 进行数据分析实验(七)

一、实验目的

使用Python解决问题

二、实验要求

自主编写并运行代码,按照模板要求撰写实验报告

三、实验步骤

  1. 操作书上第九章内容
  2. 请画出如图2.png所示的图形
  3. 通过编码获得fcity.jpg的手绘图像(如beijing.jpg所示)

四、实验结果

T2

"""
请画出如图2.png所示的图形
"""
import turtle as t

t.pen(speed=0)
xy = -300

# t.seth(0)
while (xy <= 0):
    t.penup()
    t.goto(xy, xy)  # pendown是默认状态

    for i in range(4):
        t.pendown()
        t.forward(2 * (-xy))
        t.left(90)
        t.penup()

    xy = xy + 10
t.done()
# t.getcanvas().postscript(file = "T2.eps")

T3

"""
通过编码获得fcity.jpg的手绘图像(如beijing.jpg所示)
"""
import numpy as np
from PIL import Image

image_array = np.asarray(Image.open('./picture/fcity.jpg').convert('L')).astype('float')
depth = 8 # 范围0~100,数值过高则亮部细节过度,数值过低则缺失亮部细节
grad = np.gradient(image_array)
grad_x, grad_y = grad
grad_x = grad_x * depth / 100
grad_y = grad_y * depth / 100
A = np.sqrt(grad_x ** 2 + grad_y ** 2 + 1)
uni_x = grad_x / A
uni_y = grad_y / A
uni_z = 1. / A

# 适当调整了光源的位置,补充部分亮部缺失的细节
vec_el = np.pi / 1.8
vec_az = np.pi / 7
dx = np.cos(vec_el) * np.cos(vec_az)
dy = np.cos(vec_el) * np.sin(vec_az)
dz = np.sin(vec_el)

b = 255 * (dx * uni_x + dy * uni_y + dz * uni_z)
b = b.clip(0, 255)

im = Image.fromarray(b.astype('uint8'))
im.save('./picture/res.jpg')

五、实验体会


http://www.kler.cn/a/162222.html

相关文章:

  • 信号-3-信号处理
  • C 语言 【模拟实现内存库函数】
  • vue请求数据报错,设置支持跨域请求,以及2种请求方法axios或者async与await
  • java八股-jvm入门-程序计数器,堆,元空间,虚拟机栈,本地方法栈,类加载器,双亲委派,类加载执行过程
  • 什么时候需要复写hashcode()和compartTo方法
  • MySQL技巧之跨服务器数据查询:进阶篇-从A数据库复制到B数据库的表中
  • 达梦 DM 数据库
  • Ubuntu18安装(重启黑屏问题)
  • 9大高效的前端测试工具与框架!
  • dockerfile简单实践部署(jenkins,wordpress)
  • 共享模型之不可变类
  • 基于ssm实验室课程管理系统源码和论文
  • 万宾科技智能水环境综合治理监测系统效果
  • ElasticSearch中的分析器是什么?
  • 图像的均方差和信噪比计算
  • 模块电源(六):前馈电容
  • CSS中 设置文字下划线 的几种方法
  • 【LeetCode】202. 快乐数
  • crmeb本地开发配置代理
  • 过滤器Filter实现及执行顺序
  • 销售技巧培训之如何提高手机销售技巧
  • 机器学习应用 | 使用 MATLAB 进行异常检测(下)
  • 销售技巧培训之如何提升顾问式销售技巧
  • 传世SUN引擎如何安装
  • RabbitMq整合Springboot超全实战案例+图文演示+源码自取
  • MacBook 逆水寒下载安装使用教程,支持最新版本 MacOS 流畅不闪退