(81)--图片修改小技巧之手绘

# 深入理解图片成像原理以及数据背后含义之后制作一个小程序

# temp.py

from PIL import Image
import numpy as np

# 图像手绘效果
a = np.asanyarray(Image.open(r'D:\学习\作业\趣图\01.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(r'D:\学习\作业\趣图\03.jpg')

# console


runfile('C:/Users/cz/.spyder-py3/temp.py', wdir='C:/Users/cz/.spyder-py3')

# 修改之前


# 修改之后



兄弟连学python


Python学习交流、资源共享群:563626388 QQ


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值