LuDuo

第一步:插入代码

#e17.1HandDrawPic.py
from PIL import Image
import numpy as np
vec_el = np.pi/2.2 # 光源的俯视角度,弧度值
vec_az = np.pi/4. # 光源的方位角度,弧度值
depth = 10. # (0-100)
im = Image.open(\'C:\\Users\\Thinkpad\\Desktop\\11.jpg\').convert(\'L\')
a = np.asarray(im).astype(\'float\')
grad = np.gradient(a) #取图像灰度的梯度值
grad_x, grad_y = grad #分别取横纵图像梯度值
grad_x = grad_x*depth/100.
grad_y = grad_y*depth/100.
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 轴的影响
A = np.sqrt(grad_x**2 + grad_y**2 + 1.)
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A
a2 = 255*(dx*uni_x + dy*uni_y + dz*uni_z) #光源归一化
a2 = a2.clip(0,255)
im2 = Image.fromarray(a2.astype(\'uint8\')) #重构图像
im2.save(\'C:\\Users\\Thinkpad\\Desktop\\12.jpg\')

第二步:结果展示手绘图

 

 

 

分类:

技术点:

相关文章:

  • 2021-08-30
  • 2022-02-07
  • 2021-05-07
  • 2022-12-23
  • 2021-11-30
  • 2021-07-19
  • 2021-12-10
  • 2021-12-11
猜你喜欢
  • 2021-05-31
  • 2021-12-14
  • 2022-01-02
  • 2022-01-19
  • 2021-04-24
相关资源
相似解决方案