python如何將圖片轉換為字符圖片
更新時間:2020年08月19日 15:19:00 作者:clayanddev
這篇文章主要為大家詳細介紹了python將圖片轉換為字符圖片的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
簡介
一個簡單的python程序,將圖片轉換為字符圖片。
(為了簡便,很多參數(shù)寫死了,自己看著改吧。 (←∀←))
正文
原圖(侵刪)
結果圖
源碼
[更多細節(jié)]——>戳這里
#-*- 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)) #創(chuàng)建新圖片 canvas = np.ndarray((height*scale, width*scale, 3), np.uint8) canvas[:, :, :] = 255 new_image = Image.fromarray(canvas) draw = ImageDraw.Draw(new_image) #創(chuàng)建繪制對象 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")
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python實現(xiàn)計算字符串中出現(xiàn)次數(shù)最多的字符示例
這篇文章主要介紹了Python實現(xiàn)計算字符串中出現(xiàn)次數(shù)最多的字符,涉及Python針對字符串的遍歷、統(tǒng)計等相關操作技巧,需要的朋友可以參考下2019-01-01Python實現(xiàn)PIL圖像處理庫繪制國際象棋棋盤
本文主要介紹了Python實現(xiàn)PIL圖像處理庫繪制國際象棋棋盤,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2021-07-07Djang的model創(chuàng)建的字段和參數(shù)詳解
這篇文章主要介紹了Djang的model創(chuàng)建的字段和參數(shù)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法
這篇文章主要介紹了PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2020-06-06python?numpy?中l(wèi)inspace函數(shù)示例詳解
這篇文章主要介紹了python?numpy?中l(wèi)inspace函數(shù),本文我們通過示例學習了linspace函數(shù),如果你熟悉NumPy,一定也注意到還有np.arange函數(shù),兩者最大差異是,linspace能夠精確控制終止值終值,而arange能夠更直接地控制序列中值之間的增量,需要的朋友可以參考下2023-03-03