python 素描化图像_python实现图片素描效果
代码如下:
from PIL import Image #图像处理模块
import numpy as np
a = np.asarray(Image.open("这里是原图片的路径").convert('L')).astype('float')
#将图像以灰度图的方式打开并将数据转为float存入np中
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) #clip函数将区间外的数字剪除到区间边缘
im = Image.fromarray(b.astype('uint8')) #重构图像
im.save("这里是输出图片的路径")
检验一下效果:
from PIL import Image #图像处理模块
import numpy as np
# 将图像以灰度图的方式打开并将数据转为float存入np中
a = np.asarray(Image.open("D://Python//图片转素描//4.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) # clip函数将区间外的数字剪除到区间边缘
im = Image.fromarray(b.astype('uint8')) # 重构图像
im.save("D://Python//图片转素描//4_2.jpg")
原图:
转换后
但是不适合那些依赖光影变换效果的图片,比如我最爱的百里守约就很糟糕
以上就是python实现图片素描效果的详细内容,更多关于python 图片素描的资料请关注我们其它相关文章!
本文标题: python实现图片素描效果
本文地址: http://www.cppcns.com/jiaoben/python/349936.html
python 素描化图像_python实现图片素描效果相关推荐
- python 素描化图像_任意图像转素描:Python分分钟实现
图像转素描效果展示 看到这个标题你可能觉得,我这次终于开始标题党了.然而众所周知,我是标图党~,一般不会做标题党这种事情,既然说了分分钟实现,那就说明--代码在十行左右. 代码虽少,但是效果确实一点都 ...
- python批量处理图像_python批量图片处理简单示例
本文实例讲述了python批量图片处理.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding:utf-8 import os from PIL import Image ...
- python素描效果_python实现图片素描效果
代码如下: from PIL import Image #图像处理模块 import numpy as np a = np.asarray(Image.open("这里是原图片的路径&quo ...
- python opencv二值化图像_python opencv,读取彩色图像,提取三通道,图像二值化,提取图像的边缘...
python opencv,读取彩色图像,提取三通道,图像二值化,提取图像的边缘 python opencv 1,读取图像 2,图像变矩阵 3,图像转灰度图像 4,彩色图像是3D数组 5,灰度图像是2 ...
- python抓取图片数字_python实现图片处理和特征提取详解
这是一张灵异事件图...开个玩笑,这就是一张普通的图片. 毫无疑问,上面的那副图画看起来像一幅电脑背景图片.这些都归功于我的妹妹,她能够将一些看上去奇怪的东西变得十分吸引眼球.然而,我们生活在数字图片 ...
- python读取多张图片_python读取图片的几种方式及图像宽和高的存储顺序
python读取图片的几种方式及图像宽和高的存储顺序 1.opencv 2.imageio 3.matplotlib 4.scipy # coding:utf-8 import cv2 import ...
- 用python读取图像_Python读取图片属性信息的实现方法
本文是利用Python脚本读取图片信息,有几个说明如下: 1.没有实现错误处理 2.没有读取所有信息,大概只有 GPS 信息.图片分辨率.图片像素.设备商.拍摄设备等 3.简单修改后应该能实现暴力修改 ...
- python 阴阳师 识别图像_Python爬取阴阳师式神全图鉴图片
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 基本环境配置 python 3.6 pycharm requests 目标网页 经过一些系列 ...
- python截取视频图像_python工具-将视频按帧截取图片(附代码)
描述:将一个视频流按帧数截取大量的图片 用途:ai的数据集制作,得到大量的图片,之后将其打标签 更改的地方 1.default--间隔的帧数 2.input/output--输入视频的路径.存放截 ...
最新文章
- 【Android】3.0 第3章 百度地图及其应用--预备知识
- ef 数据迁移mysql_07116.3.0如何将CM的外部PostgreSQL数据库迁移至MySQL服务
- 细说WCF中的会话模式
- 计算机组成原理4位ALU运算器设计,计算机组成原理课程设计-alu设计和4位锁存器设计.doc...
- epoll_create, epoll_ctl和epoll_wait select函数分析
- Adobe(Pr Ae)动态图形模板
- 防火电缆分类、标准、阻燃等级划分详细说明
- 将Excel表格中的数字文本格式转化为数字格式
- 用ipv6校园网访问gg学术
- 获取本地视频文件的缩略图
- QT实现Qt3D材质系统加载PBR材料
- access函数的用法
- 由浅入深----python+requests+unittest执行自动化接口测试
- 送书 | 令附生信专用简明 Python 文字和视频教程
- 阿里云服务器CentOS搭建
- 巡检过程中有哪些注意事项?智能巡检了解一下
- 基于AI的自然语言处理
- Linux 操作系统的 ECS 挂载云硬盘
- 网络串流_串流免费音乐的最佳网站
- html中精灵图的使用方法,关于CSS Sprites、CSS精灵的详细解析