使用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模拟实现POST请求提交图片的方法
Jul 25 Python
Python线程下使用锁的技巧分享
Sep 13 Python
Python实现最大子序和的方法示例
Jul 05 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 Python
python编写俄罗斯方块
Mar 13 Python
python 将视频 通过视频帧转换成时间实例
Apr 23 Python
python爬虫把url链接编码成gbk2312格式过程解析
Jun 08 Python
python的launcher用法知识点总结
Aug 07 Python
Pycharm Plugins加载失败问题解决方案
Nov 28 Python
python 自动化偷懒的四个实用操作
Apr 11 Python
聊聊Python String型列表求最值的问题
Jan 18 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 404错误页面实现代码
2009/06/22 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
javascript表单正则应用
2017/02/04 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
原生js实现自定义滚动条
2021/01/20 Javascript
python+opencv实现高斯平滑滤波
2020/07/21 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
Python文件操作函数用法实例详解
2019/12/24 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
大学生怎样进行自我评价
2013/12/07 职场文书
学校元旦晚会方案
2014/02/19 职场文书
银行金融服务方案
2014/06/11 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
检察院起诉书
2015/05/20 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
初中化学教学反思
2016/02/22 职场文书
python中如何对多变量连续赋值
2021/06/03 Python
如何在Python中妥善使用进度条详解
2022/04/05 Python