WHS GIS Engineer

Python数据分析与展示从入门到放弃

2017-06-15
WHS

Python数据分析与展示

参考资料

Python爬虫从入门到放弃

Anaconda IDE基本使用

  • 下载(分为命令行和图形化安装,两种安装方式没有区别)

  • 安装(以命令行安装为例):进入文件目录执行bash Anaconda3-4.4.0-MacOSX-x86_64.sh ->然后就让你确认条款和安装目录(一直按回车键)

  • 主要工具

    ** conda 包管理和环境管理工具

    升级:conda update conda

    ** Spyder 编程工具

    ** IPython 交互式编程环境

  • 常用命令

# 更新
conda update anaconda

# 更新Qt
conda update qt pyqt



常用库介绍

  • NumPy是一个开源的Python科学计算基础库

    • 主要特性:

      • 一个强大的N维数组对象 ndarray
      • 广播功能函数
      • 整合C/C++/Fortran代码的工具
      • 线性代数、傅里叶变换、随机数生成等功能
    • 调用方式 import numpy as np

  • PIL

    • 安装

    • 调用方式 from PIL import Image

  • matplotlib

    • 调用方式 import matplotlib.pyplot as plt
  • pandas

    • 调用方式 import pandas as pd

实战

#####图像手绘处理

  • 源码
# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

# -*- coding: utf-8 -*-
from PIL import Image
import numpy as np
a = np.asanyarray(Image.open('../Downloads/test1.jpg').convert('L')).astype('float')

depth =10.                       # (0-100)                         
grad = np.gradient(a)            # 去图像灰度的梯度值
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/2.2                  # 光源的俯视角度,弧度值
vec_az = np.pi/4.                   # 光源的方位角度,弧度值
dx =np.cos(vec_el)*np.cos(vec_az)   # 光源对X轴对影像
dy = np.cos(vec_el)*np.sin(vec_az)  # 光源对Y轴对影像
dz = np.sin(vec_el)                 # 光源对Z轴对影像

b =255*(dx*uni_x + dy*uni_y +dz*uni_z)  # 光源归一化
b =b.clip(0,255)

im =Image.fromarray(b.astype('uint8'))  # 重构图像
im.save('../Downloads/test1.jpg')
  • 结果

上一篇 Tomcat安装教程

Comments