效果


代码

# -*- coding: utf-8 -*-
"""
Created on Fri Jan 31 20:52:11 2020
@author: JZJ
"""from PIL import Image
import numpy as np
a = np.asarray(Image.open('C:/Camera Roll/ex.jpg').convert('L')).astype('float')
# 利用像素之间的梯度值和虚拟深度值对图像进行重构,根据灰度变化来模拟人类视觉的远近程度
depth = 10. # 0-100   预设深度为10,取值范围0-100
grad = np.gradient(a) #取图像灰度的梯度值
grad_x, grad_y = grad # 提取x和y方向的梯度值
grad_x = grad_x*depth/100.
grad_y = grad_y*depth/100. # 根据深度调整x和y方向的梯度值
A = np.sqrt(grad_x**2 + grad_y**2 + 1.) # 构造x和y轴梯度的三维归一化单位坐标系
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A# np.cos(vec_el)为单位光线在地平面上的投影长度
vec_el = np.pi/2.2 # 光源的俯视角度,弧度值
vec_az = np.pi/4.  #光源的方位角度,弧度值
# dx, dy, dz是光源对x/y/z三方向的影响程度
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) # 为避免数据越界,将生成的灰度值裁剪至0‐255区间im = Image.fromarray(b.astype('uint8')) #重构图像
im.save("C:/Camera Roll/WUHANjmm_Draw.jpg")

python 图像手绘效果展示相关推荐

  1. Python 数据分析与展示笔记2 -- 图像手绘效果

    Python 数据分析与展示笔记2 – 图像手绘效果 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展示 参考文档: ...

  2. Python 神仙姐姐图像手绘效果实现

    文章目录 一.图像的 RGB 色彩模式 二.Python的 PIL 库 三.图像的数组表示 四.图像的变换 五.图像的手绘效果实现 一.图像的 RGB 色彩模式 图像一般使用 RGB 色彩模式,即每个 ...

  3. Python实现图像的手绘效果

      用Python实现手绘图像的效果 1.图像的RGB色彩模式   图像一般使用RGB色彩模式,即每个像素点的颜色由红®.绿(G).蓝(B)组成.RGB三个颜色通道的变化和叠加得到各种颜色,其中: R ...

  4. python数据分析与展示--图像的手绘效果

    目录 一.图像的数组表示 1.图像的RGB色彩模式 2.PIL库 二.图像变换 1.image转换成array 2.array转换成image 三.图像的手绘效果 1.实例介绍  ​ 2.编程实例 一 ...

  5. Python实现图片手绘效果

    Python实现图片手绘效果 在图像处理领域中,手绘效果是一个非常有趣的特效.在这篇文章中,我们将讨论如何使用Python和PIL库来实现图片的手绘效果. 准备工作 在开始之前,我们需要安装PIL库. ...

  6. 利用Numpy+PIL读取图像实现手绘效果

    读取图像+简单处理 import numpy as np from PIL import Imagepath = "" #图像路径im = np.array(Image.open( ...

  7. NumPy处理图像:色彩取反、图片变灰、图像手绘

    教程:Python数据分析与展示_北京理工大学 目录 图像的数组表示 图像的变换 "图像的手绘效果"实例分析 图像的数组表示 图像一般使用RGB色彩模式,即每个像素点的颜色由红( ...

  8. Python-图像的手绘效果

    今天看了看用Python将图像转成手绘风格,具体代码还没看懂 from PIL import Image import numpy as npa = np.asarray(Image.open(&qu ...

  9. Three.js铅笔手绘效果实现

    在这个教程中,我们将学习如何使用 Three.js 后处理创建铅笔手绘效果. 我们将完成创建自定义后处理渲染通道.在 WebGL 中实现边缘检测.将法线缓冲区重新渲染到渲染目标以及使用生成和导入的纹理 ...

  10. PS效果教程——冒充手绘效果

    PS效果教程--冒充手绘效果 先来发个原图和效果图: 图1 图2 开始拉! 1.先将原图复制一份 2.选择滤镜--风格化--查找边缘 图3 #p#副标题#e# 3.再选择滤镜--艺术效果--粗糙蜡笔, ...

最新文章

  1. uitableView 选择跳过后, 跳回 颜色变化 问题
  2. 蓝桥杯 最长公共子序列
  3. CSS学习04之层次选择器
  4. Spring高级应用之注入各类集合
  5. Vector Enumeration
  6. spark on yarn 内存分配详解
  7. StoryBoard之User Defined Runtime Attributes的使用
  8. 在日常办公能做什么_日常生活中电烤箱能烤制什么美食呢?
  9. 狂神说spring笔记
  10. golang 日志分析_容器日志采集利器:Filebeat深度剖析与实践
  11. 算法设计与分析基础第二章部分课后题答案
  12. 整理牛人看文献的方法
  13. 超人再起 Superman Returns
  14. 用java制作扑克牌_java实现简单扑克牌游戏
  15. 低估价值选股策略(含源代码)
  16. 通关《Diablo2》12遍纪念
  17. java p2p开发项目实战(完整)
  18. 中国SAP顾问在美国的跳槽经历
  19. 快速编写HTML代码常用的方法
  20. 电信天翼云服务器性能,中国电信天翼云获可信云云主机“五星+”级别认证

热门文章

  1. 轻量级pdf查看阅读工具Sumatra PDF
  2. 关于redis客户端连接不上
  3. CVE-2018-18311 阿里云漏洞修复 RHSA-2019:0109-Important: perl secur
  4. Maven 配置阿里云镜像
  5. 【bat】做个一键连接网络打印机的bat
  6. [ARM-assembly]-ARMV8-A64指令编码介绍
  7. Pickit 3D视觉定位抓取系统 -硅步机器人
  8. leetcode *1818. 绝对差值和(2021.7.14)
  9. 词根词缀|pen/pend/peri/pet/photo等衍生单词
  10. 【AI模型部署】maskrcnn在tfserver部署以及调用时遇到问题:Servable not found for request “xx”、‘incompatible_shape_error‘