使用python将图片转换为字符图片

“因吹斯汀”

简介

跳过废话,直接看正文

一个简单的python程序,将图片转换为字符图片。
(为了简便,很多参数写死了,自己看着改吧。 (←∀←))


正文

原图(侵删)

原图

结果图

结果图

源码

[更多细节]——>戳这里
#-*- coding: UTF-8 -*-    
from PIL import Image  
from PIL import ImageDraw  
from PIL import ImageFont
import matplotlib.pyplot as plt
import numpy as np
import time

def happyNewYear(srd_img_file_path, dst_img_file_path = None, scale = 2, sample_step = 3):
    start_time = int(time.time())

    #读取图片信息
    old_img = Image.open(srd_img_file_path)
    pix = old_img.load()
    width = old_img.size[0]
    height = old_img.size[1]
    print ("width:%d, height:%d" % (width, height))

    #创建新图片
    canvas = np.ndarray((height*scale, width*scale, 3), np.uint8)
    canvas[:, :, :] = 255
    new_image = Image.fromarray(canvas)
    draw = ImageDraw.Draw(new_image)

    #创建绘制对象
    font = ImageFont.truetype("consola.ttf", 10, encoding="unic")
    char_table = list('happy new year ')
    # font = ImageFont.truetype('simsun.ttc', 10)
    # char_table = list(u'新年快乐')

    #开始绘制
    pix_count = 0
    table_len = len(char_table)
    for y in range(height):
        for x in range(width):
            if x % sample_step == 0 and y % sample_step == 0:
                draw.text((x*scale, y*scale), char_table[pix_count % table_len], pix[x, y], font)
                pix_count += 1

    # 保存
    if dst_img_file_path is not None:
        new_image.save(dst_img_file_path)

    print("used time : %d second, pix_count : %d" % ((int(time.time()) - start_time), pix_count))
    print(pix_count)
    new_image.show()


happyNewYear("input.jpg", "output.jpg")

后记

没有后记

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值