最近在慕课网上学习北京理工大学的Python数据分析与展示,里面有一个图片的手绘效果挺有意思的。拿来学习与分享。详情请参考课程:https://www.icourse163.org/learn/BIT-1001870002#/learn/announce

python中图像是一个由像素组成的三维矩阵(高,宽和RGB),每个元素是一个RGB值。

对图像变换的操作一般流程为:读入图像文件---获得RGB值---对RGB值进行运算修改---另存为新图像。

手绘效果特征:色彩为黑白灰,边界线条重,相同或相近色彩趋于白色,略有光源效果

运算思路:利用像素之间的梯度值和之间的虚拟深度值对图像进行重构,根据灰度变化来模拟人类视觉的明暗程度。

效果图如下:

代码如下:

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 12 17:35:46 2019@author: Administrator
"""from PIL import Image
import numpy as npa = np.asarray(Image.open(r"C:\Users\Administrator\Desktop\codes\test1.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(r'C:\Users\Administrator\Desktop\codes\testHD.jpg')

Python :图像的手绘效果相关推荐

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

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

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

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

  3. Python实现图片手绘效果

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

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

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

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

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

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

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

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

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

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

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

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

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

  10. [原创] 人物仿手绘效果--美女篇(超详细哦)

    [转自]http://68ps.5d6d.com/thread-11541-1-4.html 大家好!第一次写教程,写的不好,但还是希望大家能够给我点鼓励! 虽然效果处理的不尽人意,然而,我还是厚着脸 ...

最新文章

  1. html中#include file的使用方法
  2. 6G技术长啥样?5大趋势,13个核心技术2030年落地
  3. oracle编程艺术笔记1
  4. VTK:Remote之FrenetSerretFrame
  5. Android Native crash 处理案例分享
  6. log4j2 pattern 行号_Springboot整合log4j2日志全解总结
  7. 每日一练(8)—— 野指针
  8. spark 广播变量大数据_大数据处理 | Spark集群搭建及基本使用
  9. 为什么阿里内部不允许用Executors创建线程池?
  10. 2021.1.17.s1b
  11. 0基础学python做什么工作好-零基础学了8个月的Python,到底有啥感悟
  12. JavaScript数据类型之字符串型(4)
  13. 西瓜书第四章习题及答案
  14. mysql distribute by_hive与mysql的数据分区的异同
  15. 图片如何高清修复?高清修复图片的方法
  16. 哈理工院赛-小乐乐搭积木
  17. 关于文件上传失败的问题
  18. jQuery夹娃娃小游戏
  19. 社会管理网格化 源码_张家口市召开市域社会治理暨全市网格化服务管理现场观摩会议...
  20. 有没有可以测试充电宝电流电压的软件,USB充电电流/电压检测仪USB电流和电压测试仪移动电源测试...

热门文章

  1. 实时高清车牌识别算法
  2. 常用的坐标系及其EPSG编码
  3. 生活记录:给枯燥的心灵浇浇水
  4. 计算机在英语教学中的运用,计算机在小学英语教学中的应用
  5. C++实现Base32加解码
  6. 淘宝/天猫直通车基本概念
  7. android 监听连续点击,android基础之点击监听器的2种监听实现
  8. 【转】MPLAB使用PICKit3.5烧录程序说明
  9. PS矩形选择框基础操作
  10. EMD、EEMD模态混叠、端点效应及改进研究(转)