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