使用numpy和PIL进行简单的图像处理方法


Posted in Python onJuly 02, 2018

如下所示:

from PIL import Image
import numpy as np
# 反相
# a = np.array(Image.open("test.jpg"))
# b = [255, 255, 255] - a
# 灰度,反相
# a = np.array(Image.open("test.jpg").convert('L'))
# b = 255 - a
# 灰度,颜色变谈
# a = np.array(Image.open("test.jpg").convert('L'))
# b = (100/255)*a + 150 # 区间压缩再增加
# 灰度,颜色加重
# a = np.array(Image.open("test.jpg").convert('L'))
# b = 255 * (a/255)**2 # 像素平方
# 转手绘
a = np.array(Image.open('test.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("./result.jpg")

以上这篇使用numpy和PIL进行简单的图像处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python pickle 和 shelve模块的用法
Sep 16 Python
初学Python实用技巧两则
Aug 29 Python
深入理解Python装饰器
Jul 27 Python
python实现xlsx文件分析详解
Jan 02 Python
Windows下python3.7安装教程
Jul 31 Python
python采集百度搜索结果带有特定URL的链接代码实例
Aug 30 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
python爬虫筛选工作实例讲解
Nov 23 Python
浅谈matplotlib默认字体设置探索
Feb 03 Python
Python趣味挑战之实现简易版音乐播放器
May 28 Python
python 爬取吉首大学网站成绩单
Jun 02 Python
python numpy 显示图像阵列的实例
Jul 02 #Python
Python实现图片拼接的代码
Jul 02 #Python
python远程连接服务器MySQL数据库
Jul 02 #Python
对Python 数组的切片操作详解
Jul 02 #Python
python读取LMDB中图像的方法
Jul 02 #Python
python读写LMDB文件的方法
Jul 02 #Python
对numpy中的数组条件筛选功能详解
Jul 02 #Python
You might like
PHP静态新闻列表自动生成代码
2007/06/14 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
2017/03/05 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
IE 下的只读 innerHTML
2009/08/21 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
javascript Promise简单学习使用方法小结
2016/05/17 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
2017/11/22 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
详解python时间模块中的datetime模块
2016/01/13 Python
python模拟事件触发机制详解
2018/01/19 Python
Python打印输出数组中全部元素
2018/03/13 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
计算机专业推荐信范文
2013/11/27 职场文书
财务工作个人求职的自我评价
2013/12/19 职场文书
讲座主持词
2014/03/20 职场文书
教师师德演讲稿
2014/05/06 职场文书
关于旅游的活动方案
2014/08/15 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
好人好事演讲稿
2014/09/01 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js