Heim Backend-Entwicklung Python-Tutorial Was ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?

Was ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?

Jan 05, 2021 am 10:36 AM
python

Python-Bild-zu-Zeichen-Zeichnungscode: Berechnen Sie zuerst den Graustufenwert, der der Farbe des Bildes entspricht, und erhalten Sie dann das Zeichen, das jedem Pixel im Bild entspricht, aus dem Zeichensatz basierend auf dem Graustufenwert. Der Code lautet [args = parser .parse_args() 】.

Was ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Python-Version 3.9, DELL G3-Computer. Diese Methode ist für alle Computermarken geeignet.

Verwandte kostenlose Lernempfehlungen: Python-Video-Tutorial

1. Berechnen Sie den Graustufenwert, der der Farbe des Bildes entspricht:

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

2 Zeichen im Bild aus dem Zeichensatz Zeichen entsprechend Pixel

Code

# !/usr/bin/env python
# -*- coding:utf-8 -*-
from PIL import Image
import argparse
#命令行输入参数处理
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) #输出字符画高
#获取参数
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;:,\"^`&#39;. ")
def get_char(r,g,b,alpha = 256):
  """将256灰度映射到70个字符上"""
  if alpha == 0:
    return &#39; &#39;
  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__ == &#39;__main__&#39;:
  im = Image.open(IMG)
  im = im.resize((WIDTH,HEIGHT), Image.NEAREST)
  txt = ""
  # 获取每个像素点对应的字符
  for i in range(HEIGHT):
    for j in range(WIDTH):
      txt += get_char(*im.getpixel((j,i)))
    txt += &#39;\n&#39;
  print(txt)
  #字符画输出到文件
  if OUTPUT:
    with open(OUTPUT,&#39;w&#39;) as f:
      f.write(txt)
  else:
    with open("output.txt",&#39;w&#39;) as f:
      f.write(txt)z

Laufergebnisse

Was ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?

Das obige ist der detaillierte Inhalt vonWas ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie man mit der API -Authentifizierung in Python umgeht Wie man mit der API -Authentifizierung in Python umgeht Jul 13, 2025 am 02:22 AM

Der Schlüssel zum Umgang mit der API -Authentifizierung besteht darin, die Authentifizierungsmethode korrekt zu verstehen und zu verwenden. 1. Apikey ist die einfachste Authentifizierungsmethode, die normalerweise in den Anforderungsheader- oder URL -Parametern platziert ist. 2. BasicAuth verwendet Benutzername und Kennwort für die Basis64 -Codierungsübertragung, die für interne Systeme geeignet ist. 3.. OAuth2 muss das Token zuerst über Client_id und Client_secret erhalten und dann das BearerToken in den Anforderungsheader bringen. V. Kurz gesagt, die Auswahl der entsprechenden Methode gemäß dem Dokument und das sichere Speichern der Schlüsselinformationen ist der Schlüssel.

Wie kann man große JSON -Dateien in Python analysieren? Wie kann man große JSON -Dateien in Python analysieren? Jul 13, 2025 am 01:46 AM

Wie kann ich große JSON -Dateien in Python effizient behandeln? 1. Verwenden Sie die IJSON-Bibliothek, um den Speicherüberlauf durch die Parsen von Elementen zu streamen und zu vermeiden. 2. Wenn es sich im Format von JSONLINES befindet, können Sie sie Zeile nach Zeile lesen und mit JSON.Loads () verarbeiten. 3. oder die große Datei in kleine Stücke teilen und dann separat verarbeiten. Diese Methoden lösen das Problem der Gedächtnisbeschränkung effektiv und sind für verschiedene Szenarien geeignet.

Python zur Schleife über einem Tupel Python zur Schleife über einem Tupel Jul 13, 2025 am 02:55 AM

In Python umfasst die Methode, Tupel mit für Schleifen zu durchqueren, direkt iteriert über Elemente, das Erhalten von Indizes und Elementen gleichzeitig und die Verarbeitung verschachtelter Tupel. 1. Verwenden Sie die für die Schleife direkt, um auf jedes Element in Sequenz zuzugreifen, ohne den Index zu verwalten. 2. Verwenden Sie Enumerate (), um den Index und den Wert gleichzeitig zu erhalten. Der Standardindex ist 0 und der Startparameter kann ebenfalls angegeben werden. 3.. Verschachtelte Tupel können in der Schleife ausgepackt werden, es ist jedoch erforderlich, um sicherzustellen, dass die Untertuple -Struktur konsistent ist, sonst wird ein Auspackfehler angehoben. Darüber hinaus ist das Tupel unveränderlich und der Inhalt kann in der Schleife nicht geändert werden. Unerwünschte Werte können durch \ _ ignoriert werden. Es wird empfohlen zu überprüfen, ob das Tupel vor dem Durchqueren leer ist, um Fehler zu vermeiden.

Wie man asynchrone API -Anrufe in Python tätigt Wie man asynchrone API -Anrufe in Python tätigt Jul 13, 2025 am 02:01 AM

Python implementiert asynchrone API -Aufrufe mit asynchronen/wartet mit AIOHTTP. Verwenden Sie Async, um Coroutine -Funktionen zu definieren und sie über asyncio.run -Treiber auszuführen, z. Initiieren Sie asynchrone HTTP -Anfragen über AIOHTTP und verwenden Sie Asyncwith, um Clientsession zu erstellen und das Antwortergebnis zu erwarten. Verwenden Sie asyncio.gather, um die Aufgabenliste zu verpacken. Zu den Vorsichtsmaßnahmen gehören: Vermeidung von Blockiervorgängen, Nicht -Mischen von Synchronisationscode, und Jupyter muss speziell Ereignisschleifen verarbeiten. Master Eventl

Was ist wenn sonst in Python Was ist wenn sonst in Python Jul 13, 2025 am 02:48 AM

IFELSE ist die in Python für bedingte Beurteilung verwendete Infrastruktur, und verschiedene Codeblöcke werden durch die Echtheit der Erkrankung ausgeführt. Es unterstützt die Verwendung von ELIF, um Zweige hinzuzufügen, wenn ein Multi-Konditions-Urteilsvermögen verwendet wird, und die Einführung ist der Syntaxschlüssel. Wenn Num = 15, gibt das Programm "diese Zahl größer als 10" aus; Wenn die Zuordnungslogik erforderlich ist, können ternäre Operatoren wie Status = "Erwachsener" iFage> = 18LSE "Minor" verwendet werden. 1. Ifelse wählt den Ausführungspfad gemäß den wahren oder falschen Bedingungen aus; 2. Elif kann mehrere Zustandszweige hinzufügen; 3. Die Einführung bestimmt das Eigentum des Code, Fehler führen zu Ausnahmen. 4. Der ternäre Operator ist für einfache Zuweisungsszenarien geeignet.

Was ist eine reine Funktion in Python Was ist eine reine Funktion in Python Jul 14, 2025 am 12:18 AM

Reine Funktionen in Python beziehen sich auf Funktionen, die immer denselben Ausgang ohne Nebenwirkungen bei der gleichen Eingabe zurückgeben. Zu den Eigenschaften gehören: 1. Determinismus, dh der gleiche Eingang erzeugt immer die gleiche Ausgabe; 2. Keine Nebenwirkungen, dh keine externen Variablen, keine Eingabedaten und keine Interaktion mit der Außenwelt. Zum Beispiel ist Defadd (A, B): Returna B eine reine Funktion, da Egal wie oft Add (2,3) aufgerufen wird, immer 5 zurückgibt, ohne andere Inhalte im Programm zu ändern. Im Gegensatz dazu sind Funktionen, die globale Variablen oder Änderungen der Eingabeparameter ändern, Nicht-Pure-Funktionen. Die Vorteile von reinen Funktionen sind: einfacher zu testen, geeigneter für die gleichzeitige Ausführung, Cache -Ergebnisse zur Verbesserung der Leistung und können mit funktionalen Programmierwerkzeugen wie MAP () und Filter () gut übereinstimmen.

Wie kann es sein, dass eine Methode in Python außer Kraft gesetzt wird? Wie kann es sein, dass eine Methode in Python außer Kraft gesetzt wird? Jul 13, 2025 am 02:56 AM

Obwohl es in Python kein integriertes Schlusswort gibt, kann es unübertreffliche Methoden durch das Umschreiben von Namen, Laufzeitausnahmen, Dekoratoren usw. simulieren. 1. 1. Verwenden Sie das Präfix doppelt unterstrichen, um das Umschreiben des Namens auszulösen, was es für Unterklassen schwierig macht, Methoden zu überschreiben. 2. Beurteilen Sie den Anrufertyp in der Methode und geben Sie eine Ausnahme, um die Neudefinition der Unterklasse zu verhindern. 3. Verwenden Sie einen benutzerdefinierten Dekorator, um die Methode als endgültig zu markieren und in Kombination mit Metaklas oder Klassendekorateur zu überprüfen. 4. Das Verhalten kann als Eigenschaftsattribute eingekapselt werden, um die Möglichkeit einer geänderten Änderung zu verringern. Diese Methoden bieten unterschiedliche Schutzgrade, aber keiner von ihnen schränkt das Deckungsverhalten vollständig ein.

Kann eine Python -Klasse mehrere Konstruktoren haben? Kann eine Python -Klasse mehrere Konstruktoren haben? Jul 15, 2025 am 02:54 AM

Ja, ApythonCanhavemultipleConstructorToHalternativetechnik.1.UTEFAULTARGUMENTETHED__INIT__METHODTOALLIBLEINIGIALISIALISIONISCHE Withvaryingnumbersofparameter

See all articles