七夕到了,男同学们也该用Python做点什么啦!!!
Posted Python_恰恰好
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七夕到了,男同学们也该用Python做点什么啦!!!相关的知识,希望对你有一定的参考价值。
哈喽~大家好,我是恰恰,好久不见哈哈~又到了有趣的Python学习时间啦!七夕快到了,相信男同学们早就准备好惊喜和礼物啦!但是我还是要给大家分享一下,学了Python总不能白学对吧!给女朋友展示一下学习Python的成果,用Python把她的照片变成素描图发给她,说是你画的,她不相信再操作给她看,他肯定会觉得很厉害的,Python可以做出各种特效,比只会用软件的人更厉害呀!下面就让我们来看看吧~
运行程序前需要先安装:PIL及nump模块,整个程序比较简单,只有不到30行代码,将原图与主程序置于同一目录,将原图名替换程序中的wife.jpg即可,会在主程序同目录下生成手绘.jpg。先上效果图:
需要更多学习资料、软件安装包的同学可以点击链接免费领取https://docs.qq.com/doc/DZmpWZHpqZFFFZGhh?pub=1&dver=2.1.27114328
完整程序代码
'''
Function:
Python生成素描照
Author:
Python代码狂人
微信公众号:
Python代码大全
'''
from PIL import Image
import numpy as np
a = np.asarray(Image.open(r".\\wife.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. / A
vec_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".\\手绘.jpg")
print("保存成功,请查看")
一年一度的七夕又到啦!希望有情人终成眷属(兄妹),哈哈哈开玩笑,希望大家早日学成Python,成为厉害的大佬哦~
需要更多学习资料、软件安装包的同学可以点击链接免费领取https://docs.qq.com/doc/DZmpWZHpqZFFFZGhh?pub=1&dver=2.1.27114328
以上是关于七夕到了,男同学们也该用Python做点什么啦!!!的主要内容,如果未能解决你的问题,请参考以下文章