【python】图片转字符画 cv2+pygame实现

29 篇文章 0 订阅 ¥299.90 ¥399.90

网上看到一些字符画,非常羡慕,想要用python写一个类似的东西,突然想到字符画不就是把图片分割为像素块再进行替换嘛
恰好之前稍稍入门了python的opencv库,可以对图片进行处理。

处理图片的思想为:对一个区域的像素进行参考值计算,用具有相似参考值的字符进行替代,因此除了图片处理过程,还需要自定义字符取模系统。
这样就把一个完整的流程画出来了:

字符取模

既然是图像处理,完全可以用pygame的界面和截屏功能来创造每一个字符的模块,这里设置区块大小为block=15(可以更改)
将字符显示在窗口大小同样为block的窗口上:

字符“0”的block
得到一个边长block的矩阵。接下来是自定义参考值,考虑到对于一个矩阵,人眼观测到边缘的聚集程度比中间的聚集程度低,而最中间因为像素数量过少,聚集程度也不高,因此设计一种从四周到中间的权重值:
对于block=15,有:
weight = [0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.005, 0.004]
在这里插入图片描述

pic = cv2.imread(content
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DNCS高级工程师

你的创作是我打赏的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值