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
如何利用Python將PDF轉化為圖片?
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