图像的手绘效果(Python)
PIL库,Python Image Library
PIL库是一个具有强大图像处理能力的第三方库
在命令行下的安装方法:pip install pillow
from PIL import Image
image是PIL库中代表一个图像的类(对象)
- from PIL import Image
- import numpy as np
- im = np.array(Image.open("D:/web/testsite0/images/2.jpg"))
- print(im.shape,im.dtype)
- (300, 597) uint8
- from PIL import Image
- import numpy as np
- a = np.array(Image.open("D:/PYECourse/txshxg/fcity.jpg").convert('L'))
- b = 255 -a
- im = Image.fromarray(b.astype('uint8'))
- im.save("D:/PYECourse/txshxg/fcity3.jpg")
- from PIL import Image
- import numpy as np
- a = np.array(Image.open("D:/PYECourse/txshxg/fcity.jpg").convert('L'))
- c = (100/255)*a + 150
- im = Image.fromarray(c.astype('uint8'))
- im.save("D:/PYECourse/txshxg/fcity4.jpg")
- # -*- coding: utf-8 -*-
- """
- Spyder Editor
- This is a temporary script file.
- """
- from PIL import Image
- import numpy as np
- a = np.asarray(Image.open("D:/PYECourse/txshxg/beijing.jpg").convert('L')).astype('float')
- depth = 10.
- 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)
- dy = np.cos(vec_el)*np.sin(vec_az)
- dz = np.sin(vec_el)
- b = 255*(dx*uni_x+dy*uni_y+dz*uni_z)
- b = b.clip(0,255)
- im = Image.fromarray(b.astype('uint8'))
- im.save("D:/PYECourse/txshxg/beijingHD.jpg")
原图:
图像的手绘效果(Python)的更多相关文章
- 使用numpy和PIL实现图像的手绘效果
输入 输出 代码如下 图像的手绘效果的实现 from PIL import Image import numpy as np a = np.array(Image.open("index.j ...
- python之实现图像的手绘效果
https://blog.csdn.net/riba2534/article/details/74152285 原图: b: c: d: 最终图:
- Python——图像手绘效果
1.图像的RGB色彩模式 PIL PIL, Python Image Library PIL库是一个具有强大图像处理能力的第三方库 在命令行下的安装方法: pip install pillow fro ...
- 永中dcs实现浏览器上面的手绘效果
永中dcs是一款在线预览各种办公文件的网络产品,我们可以只用一个浏览器就可以实现对word,ppt和excel等文件的在线浏览,在其中有一个在线手绘功能很有特色,让我们来探一探它的实现原理吧. 第一, ...
- Android手绘效果实现
效果图 原理 大概介绍一下实现原理.首先你得有一张图(废话~),接下来就是把这张图的轮廓提取出来,轮廓提取算法有很多,本人不是搞图像处理的,对图像处理感兴趣的童鞋可以查看相关资料.如果你有好的轮廓提取 ...
- Microsoft Tech Summit 2018 课程简述:利用 Windows 新特性开发出更好的手绘视频应用
概述 Microsoft Tech Summit 2018 微软技术暨生态大会将于10月24日至27日在上海世博中心举行,这也会是国内举办的最后一届 Tech Summit,2019 年开始会以 Mi ...
- Python绘图还在用Matplotlib?out了 !发现一款手绘可视化神器!
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. GitHub 地址:https://github.com/chenjian ...
- 发现一款手绘可视化神器!Python绘图还在用Matplotlib?out了 !
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取htt ...
- UWP 手绘视频创作工具技术分享系列 - 有 AI 的手绘视频
AI(Artificial Intelligence)正在不断的改变着各个行业的形态和人们的生活方式,图像识别.语音识别.自然语言理解等 AI 技术正在自动驾驶.智能机器人.人脸识别.智能助理等领域中 ...
随机推荐
- Django中使用ORM
一.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数 ...
- Maven - 构建生命周期、阶段、目标
版权所有,未经授权,禁止转载 章节 Maven – 简介 Maven – 工作原理 Maven – Repository(存储库) Maven – pom.xml 文件 Maven – 依赖管理 Ma ...
- Unity 可重复随机数
出处 https://blogs.unity3d.com/cn/2015/01/07/a-primer-on-repeatable-random-numbers/ (英文原版) http://ww ...
- 生成私钥、公钥,配置到Git上
ssh-keygen -t rsa -C "1032671220@qq.com" 输入完毕指令,输入密码.然后会在 /z/.ssh/文件夹下生成一个私钥rsa_id.公钥rsa_p ...
- 使用super调用被子类覆盖的父类方法
1.没有super方法 /* * 子类方法覆盖父类方法,用super方法可以调用父类被覆盖的方法 */ class fruit{ public fruit() { System.out.println ...
- Go get unrecognized import path "gopkg.in/yaml.v2"
安装gin: go get -u github.com/gin-gonic/gin 出现错误: package gopkg.in/yaml.v2: unrecognized import path & ...
- ZOJ 3299 线段树 离散化
本来是个很简单的题目,难住我的主要是这么几点 1.它所有的点都是坐标,不是实际的砖块,1,3指的是1-2 2-3的砖块...后来就是用1 代表1-2 ,2代表2-3.....,这样的话,每次读入的数据 ...
- multi-task learning
多任务学习, CTR, CVR 任务同时训练, 同时输出概率.
- one_day_one_linuxCmd---光标快捷操作
<坚持每天学习一个 linux 命令,今天我们来学习 切换光标的常用命令> 摘要:最近经常使用 xshell 软件来远程连接各种机器,在 bin/bash 下输入各种命令,因为都是一些非常 ...
- proto3 不支持内建类型的非空判断即 hasXXX
proto3 移除了内建类型的非空判断方法 即代码生成工具不会为 bool int 等类型生成has方法 有使用过proto2 或者其它rpc 框架的人都知道使用has 方法去判断消息里的值是否设置, ...