最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)圖片轉(zhuǎn)字符畫的代碼實例

 更新時間:2019年02月22日 14:04:23   作者:topleeyap  
今天小編就為大家分享一篇關(guān)于Python實現(xiàn)圖片轉(zhuǎn)字符畫的代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

原理

1. 計算出圖片顏色對應(yīng)的灰度值,計算公式如下

    gray = 0.2126 * r + 0.7152 * g + 0.0722 * b

2. 根據(jù)灰度值,從字符集中獲取圖片中每個像素點對應(yīng)的字符

代碼

# !/usr/bin/env python
# -*- coding:utf-8 -*-
from PIL import Image
import argparse
#命令行輸入?yún)?shù)處理
parser = argparse.ArgumentParser()
parser.add_argument('file')   #輸入文件
parser.add_argument('-o', '--output')  #輸出文件
parser.add_argument('--width', type = int, default = 50) #輸出字符畫寬
parser.add_argument('--height', type = int, default = 50) #輸出字符畫高
#獲取參數(shù)
args = parser.parse_args()
IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output
# 字符畫使用的字符集
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
def get_char(r,g,b,alpha = 256):
  """將256灰度映射到70個字符上"""
  if alpha == 0:
    return ' '
  length = len(ascii_char)
  # 計算灰度的公式
  gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
  unit = (256.0 + 1)/length
  index=int(gray/unit)
  return ascii_char[index]
if __name__ == '__main__':
  im = Image.open(IMG)
  im = im.resize((WIDTH,HEIGHT), Image.NEAREST)
  txt = ""
  # 獲取每個像素點對應(yīng)的字符
  for i in range(HEIGHT):
    for j in range(WIDTH):
      txt += get_char(*im.getpixel((j,i)))
    txt += '\n'
  print(txt)
  #字符畫輸出到文件
  if OUTPUT:
    with open(OUTPUT,'w') as f:
      f.write(txt)
  else:
    with open("output.txt",'w') as f:
      f.write(txt)z

運行結(jié)果

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • Django 前后臺的數(shù)據(jù)傳遞的方法

    Django 前后臺的數(shù)據(jù)傳遞的方法

    本篇文章主要介紹了Django 前后臺的數(shù)據(jù)傳遞的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • python通過yield實現(xiàn)數(shù)組全排列的方法

    python通過yield實現(xiàn)數(shù)組全排列的方法

    這篇文章主要介紹了python通過yield實現(xiàn)數(shù)組全排列的方法,實例分析了全排列的概念及yield實現(xiàn)的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Python獲取當(dāng)前公網(wǎng)ip并自動斷開寬帶連接實例代碼

    Python獲取當(dāng)前公網(wǎng)ip并自動斷開寬帶連接實例代碼

    這篇文章主要介紹了Python獲取當(dāng)前公網(wǎng)ip并自動斷開寬帶連接實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python入門課程第三講之編碼規(guī)范知多少

    python入門課程第三講之編碼規(guī)范知多少

    這篇文章主要介紹了python入門課程第三講之編碼規(guī)范知多少,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 利用python實現(xiàn)終身免費的聽書工具

    利用python實現(xiàn)終身免費的聽書工具

    本文通過實際案例,詳細(xì)介紹了作者如何利用Python庫實現(xiàn)文本轉(zhuǎn)語音的過程,從安裝庫到實際操作案例,都有詳細(xì)的說明,為讀者提供了一定的參考價值
    2024-03-03
  • python遍歷字典中的key和value方法

    python遍歷字典中的key和value方法

    本文從多個角度分析了Python如何遍歷字典中的key和value,包括使用for循環(huán)、items()方法、keys()方法、values()方法和列表推導(dǎo)式,通過本文的介紹,讀者可以更加深入地了解Python中遍歷字典的方法,需要的朋友可以參考下
    2023-09-09
  • python用pd.read_csv()方法來讀取csv文件的實現(xiàn)

    python用pd.read_csv()方法來讀取csv文件的實現(xiàn)

    本文主要介紹了python用pd.read_csv()方法來讀取csv文件的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Python常用的數(shù)據(jù)清洗方法詳解

    Python常用的數(shù)據(jù)清洗方法詳解

    這篇文章主要介紹了Python常用的數(shù)據(jù)清洗方法,在數(shù)據(jù)處理的過程中,一般都需要進(jìn)行數(shù)據(jù)的清洗工作,如數(shù)據(jù)集是否存在重復(fù)、是否存在缺失、數(shù)據(jù)是否具有完整性和一致性、數(shù)據(jù)中是否存在異常值等,需要的朋友可以參考下
    2023-07-07
  • 利用python求積分的實例

    利用python求積分的實例

    今天小編就為大家分享一篇利用python求積分的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python數(shù)據(jù)結(jié)構(gòu)之棧詳解

    Python數(shù)據(jù)結(jié)構(gòu)之棧詳解

    棧和隊列是在程序設(shè)計中常見的數(shù)據(jù)類型,從數(shù)據(jù)結(jié)構(gòu)的角度來講,棧和隊列也是線性表,是操作受限的線性表。本文將詳細(xì)介紹一下Python中的棧,感興趣的可以了解一下
    2022-03-03

最新評論

西乡县| 璧山县| 新邵县| 遂川县| 温州市| 西安市| 大洼县| 辽中县| 新竹县| 长寿区| 古田县| 囊谦县| 儋州市| 仪征市| 邳州市| 定日县| 孝昌县| 成安县| 荆州市| 玛曲县| 定西市| 荃湾区| 河曲县| 昆明市| 邢台市| 崇阳县| 榕江县| 祁连县| 津南区| 宝清县| 汉中市| 西宁市| 南城县| 搜索| 西昌市| 康平县| 紫金县| 澎湖县| 台中县| 开原市| 昔阳县|