图像的手绘效果是在图像灰度化的基础上叠加立体效果和明暗效果实现的。其中立体效果通过添加虚拟深度值实现,而明暗变化则通过调整像素梯度值实现。

程序的源代码如下:

from PIL import Image
import numpy as npa = np.asarray(Image.open('C:/Users/86185/Desktop/1.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./Avec_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('C:/Users/86185/Desktop/2.jpg')

输出结果如下:

输入彩色图片:
输出手绘风图片:

【学习笔记】python实现图像的手绘效果相关推荐

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

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

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

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

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

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

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

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

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

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

  6. opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版

    基础版学习笔记: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 基础版形态学: opencv学 ...

  7. Python -- 图像的手绘风格

    ** Python – 图像的手绘风格 ** 今天在mooc上了解到python可以做出手绘风格的图片,感觉很惊奇,很想知道python对于图片是如何处理的,因此上网搜了一些博主的文章,总结了一下. ...

  8. opencv进阶学习笔记10:图像金字塔和图像梯度

    基础版笔记传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 图像金字塔 变小 变大 原理 ...

  9. opencv学习笔记19:图像金字塔和图像拉普拉斯金字塔 (用于图像放大和缩小)

    图像金字塔原理 图像金字塔:只不同分辨率,不同尺寸子图构成的集合. 取样 向下取样:有一个图像G0,对它重新采样,得到分辨率小些的G1,以此类推. 向上取样:有一个图像G3,然后变成像素更多的G2,以 ...

  10. opencv学习笔记14:图像礼帽,图像黑帽

    python + OpenCV 图像礼帽 图像礼帽 也叫图像顶帽 礼帽图像=原始图像-开运算图像 得到噪声图像 开运算:先腐蚀再膨胀 使用对象:二值图像 使用方法:morphologyEx cv2.M ...

最新文章

  1. 【caffe-Windows】微软官方caffe之 matlab接口配置
  2. zanli_android_1.1.0,【轻松集赞】写了个涉嫌混淆微信官方服务的小程序
  3. 软件工程(2018)第四次团队作业
  4. javascript学习笔记(七) 函数
  5. 为什么现在的手机不像以前一样可以换电池?
  6. “docker run”VS“docker exec”,这两个命令有区别吗?
  7. 方法 手写promise_实现一个符合 Promise/A+规范的 Promise(typescript 版)
  8. Atitit 知识与数据 信息 加工方法总结 目录 1.1. 信息加工是指通过判别、筛选、分类、排序、分析和研究等一系列过程 1 1.2. 首先通过聚类信息 专题化 分组聚合 1 1.3. 多种聚
  9. Python利用情感词典做情感分析
  10. javascript案例32——中文简繁体转换
  11. Webgl-超级基础随笔2-矩阵与绘制Cude
  12. 如何彻底删除小黑记事本弹窗
  13. 动手写操作系统系列-前言
  14. 【educoder】头歌 数据结构与算法 答案
  15. 阿拉伯数字转换为汉字大写数字
  16. 12种高效的管理方法
  17. 使用小爱同学语音控制电脑关机 - Winform C#
  18. MySQL探秘(八):InnoDB的事务
  19. Codis学习笔记--Java连接codis
  20. 解说文案哪个网站好?解说文案素材哪里找?4大影视解说文案网站

热门文章

  1. 华为性格测试注意事项
  2. OpenCV-Python教程:色彩空间变换(cvtColor)
  3. 小学生听力测试软件,中小学英语听力软件
  4. mysql省市县三级互动_省市县三级联动的SQL语句
  5. Python软件下载与安装教程
  6. 除了快,5G 有哪些关键技术?
  7. mysql数据库配置步骤,MySQL数据库安装配置步骤详解
  8. php怎样截取图片部分,PHP截取指定图片大小的方法
  9. linux 内存碎片信息查看
  10. 21世纪的文件系统:概述WindowsNT 5.0文件系统(NTFS)(三)