使用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实现ping的方法
Jul 06 Python
Python将图片批量从png格式转换至WebP格式
Aug 22 Python
Python无损音乐搜索引擎实现代码
Feb 02 Python
python实现windows下文件备份脚本
May 27 Python
解决python报错MemoryError的问题
Jun 26 Python
python绘制散点图并标记序号的方法
Dec 11 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
Jun 18 Python
详解python os.path.exists判断文件或文件夹是否存在
Nov 16 Python
Python初学者必备的文件读写指南
Jun 23 Python
python和anaconda的区别
May 06 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
在数据量大(超过10万)的情况下
2007/01/15 PHP
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
Javascript this指针
2009/07/30 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
vue组件三大核心概念图文详解
2019/05/30 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python抓取京东图书评论数据
2014/08/31 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
使用Python在Windows下获取USB PID&VID的方法
2019/07/02 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
内容编辑个人求职信
2013/12/10 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
青蓝工程实施方案
2014/03/27 职场文书
毕业寄语大全
2014/04/09 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2015年信访工作总结
2015/04/07 职场文书
雷锋电影观后感
2015/06/10 职场文书
Window server中安装Redis的超详细教程
2021/11/17 Redis