python Opencv將圖片轉(zhuǎn)為字符畫(huà)
做了個(gè)Python的小練習(xí),網(wǎng)上有人是利用PIL中的Image來(lái)實(shí)現(xiàn)的,覺(jué)得Opencv庫(kù)挺方便的,于是利用Opencv庫(kù)來(lái)實(shí)現(xiàn)了一下,代碼如下:
# -*- coding: utf-8 -*-
# feimengjuan
# 實(shí)現(xiàn)將圖片轉(zhuǎn)為字符畫(huà)
import cv2
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
# 將灰度值轉(zhuǎn)為字符
def get_char(gray_number):
length = len(ascii_char)
unit = (256.0 + 1)/length
return ascii_char[int(gray_number/unit)]
if __name__ == '__main__':
image1 = cv2.imread('8.jpg')
image = cv2.resize(image1,(85,110))
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
txt = ""
for i in range(image.shape[0]):
for j in range(image.shape[1]):
# 對(duì)打開(kāi)的圖片的每個(gè)坐標(biāo)的灰度值做判斷,
# 用get_char()獲取該顏色灰度值對(duì)應(yīng)的字符,然后拼接成字符串txt
txt += get_char(gray[i,j])
txt += '\n'
print txt
#字符畫(huà)輸出到文件中
f = open('output.txt','w')
f.write(txt)
結(jié)果是:
原圖片:

結(jié)果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
win與linux系統(tǒng)中python requests 安裝
requests是Python的一個(gè)HTTP客戶(hù)端庫(kù),跟urllib,urllib2類(lèi)似,今天我們主要來(lái)談?wù)剋in與linux系統(tǒng)中python requests的安裝方法以及使用指南2016-12-12
Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)找到最大或最小的N個(gè)元素實(shí)現(xiàn)方法示例
這篇文章主要介紹了Python找到最大或最小的N個(gè)元素實(shí)現(xiàn)方法,涉及Python基于heapq模塊進(jìn)行集合運(yùn)算的相關(guān)操作技巧,需要的朋友可以參考下2018-02-02
python利用pymysql和openpyxl實(shí)現(xiàn)操作MySQL數(shù)據(jù)庫(kù)并插入數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了如何使用Python連接MySQL數(shù)據(jù)庫(kù),并從Excel文件中讀取數(shù)據(jù),將其插入到MySQL數(shù)據(jù)庫(kù)中,有需要的小伙伴可以參考一下2023-10-10
python基于Tkinter庫(kù)實(shí)現(xiàn)簡(jiǎn)單文本編輯器實(shí)例
這篇文章主要介紹了python基于Tkinter庫(kù)實(shí)現(xiàn)簡(jiǎn)單文本編輯器,實(shí)例分析了Python使用Tkinter庫(kù)實(shí)現(xiàn)簡(jiǎn)單桌面應(yīng)用程序的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-05-05
Python連接Hadoop數(shù)據(jù)中遇到的各種坑(匯總)
這篇文章主要介紹了Python連接Hadoop數(shù)據(jù)中遇到的各種坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Django model重寫(xiě)save方法及update踩坑詳解
這篇文章主要介紹了Django model重寫(xiě)save方法及update踩坑詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
關(guān)于python實(shí)現(xiàn)常用的相似度計(jì)算方法
這篇文章主要介紹了關(guān)于python實(shí)現(xiàn)常用的相似度計(jì)算方法,最初的相似度計(jì)算是為了表征向量的重合程度的,在這里最經(jīng)典的就是余弦相似度了,當(dāng)然使用正弦或者是正切等等三角函數(shù)也都是可以的,需要的朋友可以參考下2023-07-07
Python實(shí)現(xiàn)進(jìn)程同步和通信的方法
本篇文章主要介紹了Python實(shí)現(xiàn)進(jìn)程同步和通信的方法,詳細(xì)的介紹了Process、Queue、Pipe、Lock等組件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Python OpenCV 使用滑動(dòng)條來(lái)調(diào)整函數(shù)參數(shù)的方法
這篇文章主要介紹了Python OpenCV 使用滑動(dòng)條來(lái)調(diào)整函數(shù)參數(shù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

