使用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中运行并行任务技巧
Feb 26 Python
对Python新手编程过程中如何规避一些常见问题的建议
Apr 01 Python
编写Python小程序来统计测试脚本的关键字
Mar 12 Python
详解 Python 读写XML文件的实例
Aug 02 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
python实现对指定输入的字符串逆序输出的6种方法
Apr 26 Python
Django 迁移、操作数据库的方法
Aug 02 Python
python实现静态服务器
Sep 05 Python
python3.7环境下安装Anaconda的教程图解
Sep 10 Python
python同时遍历两个list用法说明
May 02 Python
Python中BeautifulSoup通过查找Id获取元素信息
Dec 07 Python
Python安装使用Scrapy框架
Apr 12 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 过滤危险html代码
2009/06/29 PHP
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
js三种排序算法分享
2012/08/16 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
javascript编写简易计算器
2017/05/06 Javascript
javascript 开发之百度地图使用到的js函数整理
2017/05/19 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
python写的一个文本编辑器
2014/01/23 Python
简单介绍Python中的readline()方法的使用
2015/05/24 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
高中自我鉴定范文
2013/11/03 职场文书
团队精神演讲稿
2013/12/31 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python