1. 程式人生 > >python將圖片轉化為字元圖

python將圖片轉化為字元圖

最近看到將圖片轉化為字元圖的小實驗,我覺得很有趣,所以決定自己實現一下。

步驟和原理如下:

  • 讀取圖片的灰度值矩陣(0-255之間),灰度值矩陣主要反映的是圖片的黑白程度,越黑越接近與0,越白越接近於255

  • 確定用於作畫的字元

  • 根據灰度值確定代替字元,灰度值越小,其代替字元應該筆畫越多(這樣才能看起來顏色更深)

  • 把全部選好的代替字元寫入文字

  • 選擇字元的做法:用256(0-255又256個數)除以可以用於作畫的字元的總長度,然後得到一個字元的灰度值區間。然後灰度值在某個區間是就轉化為指定的字元。

  • 我從google圖片下載了一張小豬佩奇的圖片,侵刪,然後用它來畫字元畫,結果如下:
    小豬佩奇小豬佩奇字元畫

還是蠻像的!
程式碼如下:

# coding: utf-8

import numpy as np
from PIL import Image

def img_to_char(image_path,height):
    '''
    將圖片轉化為字元
    image_path是圖片的路徑
    height是字串圖片的高度
    '''

    #讀取圖片
    img = Image.open(image_file)
    img_width, img_height = img.size
    # 假設字元的寬度是高度的3倍
    width = 3* height * img_width // img_height
    img = img.resize((width, height), Image.ANTIALIAS)
    #讀取圖片的灰度值矩陣
data = np.array(img.convert('L')) #設定字元,字元數要是256的因子,這裡取32 chars = "#RMNHQODBWGPZ*@$C&98?32I1>!:-;. " N = len(chars) #計算每個字元的區間,//取整 n = 256 // N #result是字元結果 result = '' for i in range(height): for j in range(width): result += chars[data[i][j] // n] result += '\n'
with open('img.txt', mode='w') as f: f.write(result) if __name__ == '__main__': image_file = '10.jpg' height = 100 img_to_char(image_file,height)

相關推薦

python圖片轉化字元

最近看到將圖片轉化為字元圖的小實驗,我覺得很有趣,所以決定自己實現一下。 步驟和原理如下: 讀取圖片的灰度值矩陣(0-255之間),灰度值矩陣主要反映的是圖片的黑白程度,越黑越接近與0,越白越接近於255 確定用於作畫的字元 根據灰度值確定代替字元,灰度值

使用python和opencv圖片轉化素描-python程式碼解析

實際上為了有效地創造黑白素描圖,你真正需要的是一些模糊和兩張圖片的混合技術,叫做dodging and burning. 用OpenCV、Python一張RGB顏色的影象經過下面四個步驟就能夠生成出一張素描圖: 將RGB圖轉化為灰度圖。 灰度圖進行反色操作。 將步

使用python圖片轉換字元圖片

“因吹斯汀” 簡介 一個簡單的python程式,將圖片轉換為字元圖片。 (為了簡便,很多引數寫死了,自己看著改吧。 (←∀←)) 正文 原圖(侵刪) 結果圖 原始碼 [更多細節]——>戳這裡 #-*- co

python如何圖片轉換字元圖片

簡介 一個簡單的python程式,將圖片轉換為字元圖片。 (為了簡便,很多引數寫死了,自己看著改吧。 (←∀←)) 正文 原圖(侵刪) 結果圖 原始碼 [更多細節]——> #-*- coding: UTF-8 -*- from PIL i

如何利用PythonPDF轉化圖片

python的功能真是強大,可以做詞雲圖、可以優雅地八卦、可以做遊戲外掛、還可以將PDF轉化成圖片,這個功能你還不知道吧,趕緊隨小編我一起來看看吧:之前收集了很多優秀的 PDF文件,但是需要看的時候不是很方便,需要去找到這個檔案,如果是在手機上的話往往還需要下載 PDF相關的

一張助你分分鐘掌握用photoshop圖片轉化背景透明的png技能-ps2017

需求:將背景為白色的jpg轉化為背景透明的png;方法2:適用於背景色與實物色不一樣解鎖->複製圖層->選擇->色彩範圍->使用取色器選擇需要保留的顏色->確定->c

python 圖片轉換base64編碼轉儲進數據庫

join 圖片轉換 exce 中間 sof com sys hal ims # _*_ coding: utf-8 _*_#中間件:拓展工具遍歷文件夾,對文件夾圖片進行base64編碼,寫入數據庫,並且讀取查找方法__author__ = ‘wf15038‘__date__

圖片轉換素描

用OpenCV、Python一張RGB顏色的影象經過下面四個步驟就能夠生成出一張素描圖: 將RGB圖轉化為灰度圖。 灰度圖進行反色操作。 將步驟1中的灰度影象和步驟三中的模糊反色影象混合,這裡就用到亮化(Dodging)和暗化(burning)的技術。 1、在讀取圖

python3 圖片轉化字元,並做成視覺化操作工具

python3 圖片轉化為字元,並轉化成視覺化操作工具。 然後生成EXE檔案,發給妹子,又裝逼成功~ 先上效果圖 執行 python 檔案,然後上傳一張小圖: 生成txt 的檔案: 原始碼: from tkinter import * from tkinter impor

python圖片切分九宮格 並打包成exe可執行檔案

前言經常在朋友圈或者微博看到九宮格顯示的圖片,雖然是九張圖片,但是這是一張圖片經過切割而成的,顯示效果很震撼。今天,我們就用python將圖片切分為九宮格,並打包成exe可執行檔案,就算不需要程式碼也可以輕鬆實現。效果微信切圖前後的對比圖:微博的切圖前後的對比圖:準備匯入需要

圖片轉換圓角(自修改)

修改了記憶體洩漏,增加了半徑設定 h檔案 #import <Foundation/Foundation.h> @interface UIImage (wiRoundedRectImage) + (id)createRoundedRectImage:(UI

IOS 圖片轉換圓角

UIImage+wiRoundedRectImage.h #import <UIKit/UIKit.h> @interface UIImage (wiRoundedRectImage) + (id)createRoundedRectImage:(UII

python 圖片軟化字串

網上已有很多教程,本文可當一個參考。 from PIL import Image img = Image.open("1.jpg") # 開啟一個圖片,並返回圖片物件 w,h = img.size # 返回圖片寬,高 if h > 10

Python圖片彩色轉化素描

第一種: from PIL import Image, ImageFilter, ImageOps img = Image.open('E:\\picture\\1.png') def dodge(a, b, alpha): return min(int(a*255/(256-b

python實現彩色圖片灰度化並轉化字元圖片

    python可以用來學習用來工作,當然也能用來娛樂,相信眾多pythoner都不會反對這一點,今天是週五了,又是一個美好的週末的開始,打算做點有意思的事情玩一玩,無意間看到一個很有意思的東西就打算拿來實現以下,主要就是基於python的PIL模組將彩色圖片轉化為字元型的內

Python圖片模糊字元

# codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. ''' # 字元列表 codeLib = '''@#$%&?*aeoc=<{[(/l|!-

ArcGIS API for JavaScript - 圖片map的底

1,問題引出      我們在開發web應用時,需要一些地圖作為我們的底圖。ArcGIS API給我們提供了樣式眾多的basemap,我們還可以使用ArcgisOnline提供的一些地圖服務以及自己釋出的一些地圖服務。然而有時候我們不需要在這個底圖服務上實現一些

Python - pyecharts:直接圖片儲存 png, pdf, gif 格式的檔案

關鍵:使用 pyecharts-snapshot外掛 第一步:安裝node.js 第二步:安裝phantomjs 命令列中輸入: npm install -g phantomjs-prebuilt 安裝完成後檢查是否成功,命令列輸入: phantomjs 第三

利用aspose-words直接Word轉化圖片

imp 實現 ace stack put input () lse 方式 之前遇到一個需求,需要在word文檔中加入一些文字,並轉化為圖片。之前也試過幾種方案,但是發現效果還不是很理想,且中間需要經過一次轉化為pdf的過程,最近找到了最理想的方式,即利用aspose-wor

html2canvas網頁轉化圖片

html2canvas將網頁轉化為圖片,可以利用如下程式碼 'click a.actionPDF'(e, instance) { e.preventDefault(); const _this = $(e.currentTarget); const