python如何將圖片轉(zhuǎn)換為字符圖片
簡介
一個簡單的python程序,將圖片轉(zhuǎn)換為字符圖片。
(為了簡便,很多參數(shù)寫死了,自己看著改吧。 (←∀←))
正文
原圖(侵刪)

結(jié)果圖

源碼
[更多細節(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")
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python如何將圖片轉(zhuǎn)換素描畫
- python實現(xiàn)圖片轉(zhuǎn)換成素描和漫畫格式
- python 將dicom圖片轉(zhuǎn)換成jpg圖片的實例
- 基于python實現(xiàn)把圖片轉(zhuǎn)換成素描
- python3用PIL把圖片轉(zhuǎn)換為RGB圖片的實例
- 利用python和ffmpeg 批量將其他圖片轉(zhuǎn)換為.yuv格式的方法
- Python圖片轉(zhuǎn)換成矩陣,矩陣數(shù)據(jù)轉(zhuǎn)換成圖片的實例
- Python將圖片轉(zhuǎn)換為字符畫的方法
- python3圖片轉(zhuǎn)換二進制存入mysql
- python將YUV420P文件轉(zhuǎn)PNG圖片格式的兩種方法
相關(guān)文章
Python利用pynput實現(xiàn)劃詞復(fù)制功能
這篇文章主要為大家想詳細介紹了Python如何利用pynput實現(xiàn)劃詞復(fù)制功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-05-05
Python實現(xiàn)計算字符串中出現(xiàn)次數(shù)最多的字符示例
這篇文章主要介紹了Python實現(xiàn)計算字符串中出現(xiàn)次數(shù)最多的字符,涉及Python針對字符串的遍歷、統(tǒng)計等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
python框架django中結(jié)合vue進行前后端分離
本篇將基于Python+Django結(jié)合Vue.js前端框架,為大家介紹如何基于這三者的技術(shù)棧來實現(xiàn)一個前端后離的Web開發(fā)項目。文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
Python實現(xiàn)PIL圖像處理庫繪制國際象棋棋盤
本文主要介紹了Python實現(xiàn)PIL圖像處理庫繪制國際象棋棋盤,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
Djang的model創(chuàng)建的字段和參數(shù)詳解
這篇文章主要介紹了Djang的model創(chuàng)建的字段和參數(shù)詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法
這篇文章主要介紹了PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2020-06-06
python?numpy?中l(wèi)inspace函數(shù)示例詳解
這篇文章主要介紹了python?numpy?中l(wèi)inspace函數(shù),本文我們通過示例學(xué)習(xí)了linspace函數(shù),如果你熟悉NumPy,一定也注意到還有np.arange函數(shù),兩者最大差異是,linspace能夠精確控制終止值終值,而arange能夠更直接地控制序列中值之間的增量,需要的朋友可以參考下2023-03-03

