使用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实现中文分词FMM算法实例
Jul 10 Python
Python 查看文件的编码格式方法
Dec 21 Python
python模块之paramiko实例代码
Jan 31 Python
python绘制直线的方法
Jun 30 Python
用Python解数独的方法示例
Oct 24 Python
python__name__原理及用法详解
Nov 02 Python
如何基于windows实现python定时爬虫
May 01 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
Jun 04 Python
python pymysql链接数据库查询结果转为Dataframe实例
Jun 05 Python
python Socket网络编程实现C/S模式和P2P
Jun 22 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
python实现Nao机器人的单目测距
Sep 04 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设计模式之解释器模式的深入解析
2013/06/13 PHP
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
2013/06/05 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
vue之nextTick全面解析
2017/05/17 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
微信跳一跳python代码实现
2018/01/05 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
python删除某个字符
2018/03/19 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
PyCharm无法引用自身项目解决方式
2020/02/12 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
经典c++面试题三
2015/07/08 面试题
资深地理教师自我评价
2013/09/21 职场文书
物业工作计划书
2014/01/10 职场文书
幼儿园家长会邀请函
2014/01/15 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
简单租房协议书
2014/10/21 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python