女朋友嘲笑我没有艺术气息,我不服!!一气之下我用python画素描人像

news/2024/7/21 5:02:28 标签: python, 数据分析, 图像处理

女朋友嘲笑我没有艺术气息,我不服!!一气之下我用python画素描人像

  • 写在前面
  • 代码实现
    • 需要安装的库
    • 安装库命令
    • 程序源码
  • 总结

写在前面

都说5月20日是网络情人节,作为程序员的李伟,平时忙着敲代码,难得有时间可以陪女朋友,然而却收来女朋友的一条消息。。
在这里插入图片描述
伟哥这仅有的几根头发多少有点绿光啊哈哈!!!心里想,哪能受得了这种气!!不就是艺术气息吗?伟哥疯狂敲了30行代码,将女朋友的照片一处理,直接发过去了。生活真不容易啊,程序员也得学素描。

照片处理之前照片处理之后
在这里插入图片描述在这里插入图片描述

废话不多说,直接上代码。

代码实现

需要安装的库

PIL  用于对图片的灰度处理
numpy  用于数据分析

安装库命令

pip install PIL
pip install numpy

程序源码

其中:

  1. beforeUrl指定你要处理的照片,如:D:\a.jpg
  2. afterUrl指定你处理完的照片的地址,如:D:\b.jpg
python">from PIL import Image
import numpy as np

def makeSketch(beforeUrl,afterUrl):
    a = np.asarray(Image.open(beforeUrl).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(afterUrl)
    
    
if __name__ == '__main__':
    beforeUrl = r'D:\1.jpg'
    afterUrl = r'D:\2.jpg'
    makeSketch(beforeUrl,afterUrl)

项目参考github开源项目,项目地址:https://github.com/stormdony/python_demo/blob/master/Pic_to_sketch/test.py

总结

其实照片是我的女朋友哈哈,但我可没被绿!总之,不管是学艺术也好,写程序也好,都有各自的浪漫之处,虽然有时候呈现的形式不一样,但爱是一样的,祝各位5.20都有所爱之人在身边。


http://www.niftyadmin.cn/n/1034229.html

相关文章

Dsicuz x2.5去掉域名后面的/forum.php

1, 后台--全局--域名设置--应用域名--设置默认域名为访问域名就可以,如:www.xxxxx.com 上面2种方法都可以去掉域名后面的/forum.php或portal.php后缀,可实现SEO优化中的URL标准化 以下是最新更新的方法,自己在实践中总结了更简…

schema

xmlns:是XML NameSpace的缩写,因为XML文件的标签名称都是自定义的,自己写的和其他人定义的标签很有可能会重复命名,而功能却不一样,所以需要加上一个namespace来区分这个xml文件和其他的xml文件,类似于java中的package…

“http://hao643.com/?r=wwwwwm=c166” 类似这样的恶意链接去除方法

网络中游荡,不经意间就被感染,感染后不痛但是让人瘙痒烦躁。 首先说明出现的问题,发现电脑每次开机、不定时(也许这个病毒设置的就是定时,没有具体统计)的出现 谷歌浏览器、ie浏览器 的快捷方式被修改&…

智能插座基础版能否接入Home Assistant智能平台?

声明: 转载自:http://bbs.xiaomi.cn/t-13447480-n7 如题,请问能否给小米智能插座基础版(wifi版)能否开放api接口,目前在用的Home Assistant是一个开源的智能平台,上面支持的智能设备和智能联动场景灵活多样…

Broadlink :智能家居的下一步是人工智能

转载至:http://www.ifanr.com/501002 提及智能家居,我们总会联想种种奇幻的“未来之家”:走进房门,灯光自动激活、电视自动播放、浴室自动烧水、空调自动调节…… 当下的技术实现这些场景并不复杂,问题在于&#xff0c…

【iShout】智能家居,我们真的想好怎么做了吗?

转载自:http://www.ifanr.com/467381 在过去的 50 年间,雅虎、思科、微软、苹果、阿里巴巴、腾讯等众多的公司先后出现 IT 领域最受瞩目的聚光灯下,各领风骚。在人们津津乐道于各个公司产品对生活的改善,对技术潮流的引领时&#…

文件服务器s3搭建,搭建基于AWS S3的图片处理服务

1.背景介绍随着移动互联网的快速发展,各种移动终端设备爆发式的增长,社交类APP 或者电商网站为了提升访问速度、提高用户体验,必须根据客户端的不同性能,不同屏幕尺寸和分辨率提供适当尺寸的图片。这样一来开发者通常需要预先提供…

智能家居展望

转载自:http://www.ifanr.com/461912 谈到智能家居,先从小方面谈起。 2009 年的 Dyson 无叶风扇充满了未来主义的幻想,充满科技气息,。 设计优先 关于可穿戴产品,现在已经形成了一个共识,即它的外观设计和…