Heim  >  Artikel  >  Backend-Entwicklung  >  Erstellen Sie mit Python in zehn Minuten Ihr eigenes personalisiertes Logo

Erstellen Sie mit Python in zehn Minuten Ihr eigenes personalisiertes Logo

不言
不言Original
2018-05-07 13:41:491513Durchsuche

Dieser Artikel führt Sie hauptsächlich in relevante Informationen ein, wie Sie mit Python in zehn Minuten Ihr eigenes personalisiertes Logo erstellen können. Um diesen Effekt zu erzielen, wird der Artikel sehr ausführlich anhand von Beispielcode vorgestellt Nützlich für jeden. Freunde, die es brauchen, können unten einen Blick darauf werfen.

Vorwort

kann die Wortwolke verwenden. Es ist nicht mehr ungewohnt. Es ist sehr einfach, das Wortwolkenpaket direkt aufzurufen. Seine Hauptfunktion besteht darin, Bilder basierend auf Textwörtern und Worthäufigkeit zu generieren, anhand derer Sie intuitiv den Anteil jedes Wortes erkennen können.

Vor kurzem wollte ich nur ein persönliches Logo erstellen, also habe ich beschlossen, dafür eine Wortwolke zu verwenden.

Wordcloud-Installation

pip install wordcloud

Wenn Sie pip zur Installation verwenden, wird während des Installationsvorgangs auf jeden Fall ein Fehler auftreten gemeldet und fordert Sie zur Installation von Microsoft Visual C++ 14.0 auf, dieser Installationsvorgang ist jedoch zeitaufwändig.

Es gibt eine andere Möglichkeit, das Problem zu lösen: Laden Sie die entsprechende WHL-Datei herunter und installieren Sie sie.

Nachdem die Datei heruntergeladen wurde, gehen Sie mit cmd in den Ordner, in dem sich die WHL-Datei befindet, und geben Sie dann den folgenden Befehl ein:

pip install wordcloud-1.4.1-cp36-cp36m-win_amd64.whl

Wordcloud-Codeverwendung

Nach erfolgreicher Installation beginnen wir sofort mit der Erstellung unserer Bilder.

from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator

d = path.dirname(__file__)

# 读文本文件
text = open(path.join(d, 'data.txt')).read()

# 读取自定义图片
alice_coloring = np.array(Image.open(path.join(d, "pic.jpg")))

# 你可以通过 mask 参数 来设置词云形状
wc = WordCloud(background_color="white",max_words=2000, 
  mask=alice_coloring, max_font_size=60,random_state=102,scale=8,
  font_path="C:\Windows\Fonts\msyhbd.ttf").generate(text)

wc.generate_from_text(text)
print('开始加载文本')
# 改变字体颜色
img_colors = ImageColorGenerator(alice_coloring)
# 字体颜色为背景图片的颜色
wc.recolor(color_func=img_colors)
# 显示词云图
plt.imshow(wc, interpolation="bilinear")
# 是否显示x轴、y轴下标
plt.axis('off')
plt.show()
# 获得模块所在的路径的
d = path.dirname(__file__)
# 将多个路径组合后返回
wc.to_file(path.join(d, "h16.jpg"))
print('生成词云成功!')

Der obige Textinhalt wurde durch einen Crawler gesammelt. Nachdem Sie die Textquelle haben, bereiten Sie einfach das Bild vor, mit dem Sie eine Wortwolke generieren möchten.

Das Konfigurieren der Parameter von Wordcloud ist besonders wichtig für Bildeffekte. Im Folgenden konzentrieren wir uns auf die Bedeutung der Parameter von Wordcloud:

  • font_path: String-Schriftartpfad, unabhängig von der Schriftart muss angezeigt werden. Schreiben Sie den Schriftartpfad + Suffixnamen, z. B.: font_path = 'Heibody.ttf'

  • width: int (default=400) Die Ausgabe-Leinwandbreite, die Standardeinstellung ist 400 Pixel

  • height: int (default=200) Ausgabe-Leinwandhöhe, Standard ist 200 Pixel

  • prefer_horizontal: float (default=0.90 ) Horizontaler Satz von Wörtern Häufigkeit des Auftretens, Standard 0,9

  • Maske: nd-array oder Keine (Standard=Keine) Wenn der Parameter leer ist, wird die Wortwolke normal gezeichnet. Wenn die Maske nicht leer ist, werden die eingestellten Werte für Breite und Höhe ignoriert und die Form wird durch die Maske ersetzt. Die Teile außer Weiß werden nicht gezeichnet und der Rest wird zum Zeichnen der Wortwolke verwendet.

  • Skalierung: Float (Standard = 1) Vergrößert die Leinwand entsprechend dem Verhältnis. Bei der Einstellung 2 betragen Länge und Breite das Doppelte der ursprünglichen Leinwand.

  • min_font_size : int (Standard=4) Die angezeigte Mindestschriftgröße

  • font_step : int (Standard=1) Schriftschrittgröße, If Ist die Schrittgröße größer als 1, beschleunigt dies den Vorgang, kann jedoch zu größeren Fehlern in den Ergebnissen führen.

  • max_words: Zahl (Standard=200) Die maximale Anzahl der anzuzeigenden Wörter

  • stopwords: Satz von Zeichenfolgen oder Keine Die Einstellung ist erforderlich blockiert werden Wenn es leer ist, werden die integrierten STOPWORDS

  • background_color: Farbwert (Standard = „schwarz“) Hintergrundfarbe verwendet, z. B. background_color = „white“, die Hintergrundfarbe ist weiß.

  • max_font_size : int oder None (Standard=None) Die maximal angezeigte Schriftgröße

  • mode : string (default=“RGB“) Wann Der Parameter ist „RGBA“ und background_color ist nicht leer, der Hintergrund ist transparent.

  • relative_scaling: float (Standard=.5) Korrelation zwischen Worthäufigkeit und Schriftgröße

  • color_func: aufrufbar, Standard=Keine Neue Farbe generieren Funktion, wenn leer, self.color_func

  • regexp : string oder None (optional) Verwenden Sie reguläre Ausdrücke, um den Eingabetext zu trennen

  • Kollokationen: bool, default=True Ob die Kollokation zweier Wörter einbezogen werden soll

  • colormap: string oder matplotlib colormap, default=“viridis“ Weisen Sie jedem Wort zufällig eine Farbe zu, falls angegeben, color_func, this Methode wird ignoriert.

Effektanzeige

Bei den verwendeten Fotos handelt es sich um eigene Fotos des Bloggers.

——————Ende——————

Verwandte Empfehlungen:

Python-Socket zum Senden der HTTP(s)-Anfragemethode verwenden

Das obige ist der detaillierte Inhalt vonErstellen Sie mit Python in zehn Minuten Ihr eigenes personalisiertes Logo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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