Python个性化头像

图像处理

在这里插入图片描述
最近看到抖音上有不少字符化的视频比较火,自己也顺手写了个脚本来实现图片字符化。
那么什么是字符化呢?我们来看下原图和字符化之后的图像。
在这里插入图片描述
在这里插入图片描述

1.脚本下载:

链接:https://pan.baidu.com/s/1eLspRWQTtGfw7JTplVPzlQ
密码:uu1b

(后续所有简单的脚本就不给大家打包成.exe了,相信各位聪明的小伙伴知道如何执行.py脚本,不会的也欢迎来问我)

下载好我们的image_to_txt.py之后,我们双击或者在终端执行即可。

如图:在我们的测试文件夹里面存放了下载好的脚本和测试图片。
在这里插入图片描述
在这里插入图片描述
按照提示,输入目标图片的全局路径,或者当前文件夹下面的图片名字,都可以。在这里插入图片描述在这里插入图片描述执行完成,我们再来看看当前文件夹里面有没有生成txt文件。
在这里插入图片描述
我们看到是成功了,我们打开image.txt看看。
在这里插入图片描述
怎么和预期的不太一样呢?
在这里插入图片描述
没关系我们调整一下txt的文字大小为5号试试。bingo!
在这里插入图片描述
txt里面如果有英文纠正的红色下划线影响美观,可以设置关闭纠正提示哦。

当然,我们看到有部分图片保存是无效的,因为我们默认图片是.jpg格式,png或者gif都会被我们保存成.jpg导致无法展示,所以这种方法还有待优化,欢迎留言交流;

2.python环境搭建:

为大家推荐教科书式的菜鸟教程,有疑惑欢迎骚扰

参考地址:
https://www.runoob.com/python3/python3-install.html

相信一个建筑师学会python,能为你的创作颈上添花

3.源码展示:

from PIL import Image
 
width = 100
height = 70
 
image = input('请填写目标图片全局路径:')
 
def draw():
    im = Image.open(image)
    im = im.resize((width, height), Image.NEAREST)
    txt = ""
    for i in range(height):
        for j in range(width):
            txt += get_char(*im.getpixel((j, i)))
        txt += '\n'
    with open("image.txt", 'w') as f:
        f.write(txt)
 
def get_char(r, g, b, alpha=256):
    ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
    if alpha == 0:
        return ' '
    length = len(ascii_char)
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
 
    unit = (256.0 + 1) / length
    return ascii_char[int(gray / unit)]
 
draw()
print('转换完成')

4.拓展:

这仅仅是图像处理的冰山一角,用ps,用su插件,我们都是利用了别人预设好的效果,仿佛被束缚了手脚,而用python,我们可以想怎么处理图像就怎么处理图像。
在这里抛砖引玉,希望各位设计师能举一反三,借用python这把利刃,能对图像处理有更好的理解和实践。

以下是python处理的其他几种效果:
分别是 动漫化/ 去色/ 二值化/ 像素化/ 素描化


像素化可以制作像素头像,二值化优化一下可以变成一键抠图的脚本,或者一键替换背景色的工具;
想要各种效果脚本的同学欢迎关注公众号问我要哦!

回复 Ruby 即可获取 Ruby Code Editor 插件
回复 Ball 即可获得 ball.rb 一键绘制 sketchup 球体插件脚本
回复 PushPull 即可获得 pushpull_ball.rb 球体表面随机推拉脚本
回复 哪吒 即可获得 image_to_txt.py 图片转txt图像 脚本
回复 壁纸 即可获得 get_wallpaper.exe 高清壁纸自动爬取脚本
回复 地图 即可获取 getmap.htm 地图边界绘制脚本
回复 getPic 即可获取 getPic.sh 批量保存网站图片脚本

加微信 wxid_ljshjsw95hcv22 进群共同探索创新

文章转载请注明出处author by Nicaicaiwo

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值