使用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开发的nosql数据库CodernityDB介绍和使用实例
Oct 23 Python
Python 模板引擎的注入问题分析
Jan 01 Python
Python机器学习之K-Means聚类实现详解
Feb 22 Python
python方法生成txt标签文件的实例代码
May 10 Python
python2 与 python3 实现共存的方法
Jul 12 Python
Django+Xadmin构建项目的方法步骤
Mar 06 Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 Python
python numpy矩阵信息说明,shape,size,dtype
May 22 Python
python能开发游戏吗
Jun 11 Python
PyTorch安装与基本使用详解
Aug 31 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 Python
一起来学习Python的元组和列表
Mar 13 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
Windows下安装Memcached的步骤说明
2010/04/25 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
IE6弹出“已终止操作”的解决办法
2010/11/27 Javascript
悄悄用脚本检查你访问过哪些网站的代码
2010/12/04 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python的Tornado框架异步编程入门实例
2015/04/24 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
Django 连接sql server数据库的方法
2018/06/30 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
python numpy库np.percentile用法说明
2020/06/08 Python
python使用建议与技巧分享(一)
2020/08/17 Python
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
介绍一下内联、左联、右联
2013/12/31 面试题
和平主题的演讲稿
2014/01/12 职场文书
铲车司机岗位职责
2014/03/15 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers