ホームページ  >  記事  >  バックエンド開発  >  Python を使用して、10 分で独自のパーソナライズされたロゴを作成します

Python を使用して、10 分で独自のパーソナライズされたロゴを作成します

不言
不言オリジナル
2018-05-07 13:41:491513ブラウズ

この記事では、Python を使用して独自のロゴを 10 分で作成する方法について主に紹介します。この記事では、主にワード クラウドを使用してこの効果を実現する方法について、サンプル コードを通じて詳しく紹介します。この作品には一定の参考と学習価値がありますので、必要な友達が来て一緒に見てみてください

皆さんはワードクラウドの使い方に慣れていると思います。使用するには、wordcloud パッケージを直接呼び出すだけです。その主な機能は、テキストの単語と単語の頻度に基づいて画像を生成することで、そこから各単語の割合を直感的に確認できます。 最近、個人的なロゴを作りたかったので、ワードクラウドを使用して作成することにしました。

wordcloud のインストール

pip install wordcloud
pip を使用してインストールすると、必ず問題が発生し、Microsoft Visual C++ 14.0 のインストールを求めるエラーが報告されることがありますが、このインストール プロセスには非常に時間がかかります。消費する。 これを解決する別の方法は、対応する whl ファイルをダウンロードしてインストールすることです。

ファイルがダウンロードされたら、whl ファイルがあるフォルダーに cmd して、次のコマンドを入力します:

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

wordcloud コードの使用法

インストールが成功したら、すぐに写真の作成を開始します。 。

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('生成词云成功!')

上記のテキストコンテンツは、データサイエンスに関する記事をクロールして収集したものです。テキストソースを用意したら、ワードクラウドを生成したい画像を準備するだけです。

ワードクラウドパラメータの設定は、画像効果にとって特に重要です:

font_path: 文字列フォントパス フォントを表示したい場合は、次のようにフォントパス + サフィックス名を記述します。 font_path = 'Blackbody.ttf'

  • width : int (default=400) 出力キャンバスの幅、デフォルトは 400 ピクセルです

  • height : int (default=200) 出力キャンバスの高さ、デフォルトは 200 ピクセルピクセル

  • prefer_horizo​​ntal : float (デフォルト=0.90) 単語の水平組版の頻度、デフォルトは0.9です

  • mask : nd-array または None (デフォルト=None) パラメータが空の場合、ワードクラウド普通に描画されます。マスクが空でない場合、設定された幅と高さの値は無視され、形状はマスクに置き換えられます。白以外の部分は描画されず、残りの部分がワードクラウドの描画に使用されます。

  • scale : float (default=1) 比率に従ってキャンバスを拡大します。2 に設定すると、長さと幅が元のキャンバスの 2 倍になります。

  • min_font_size : int (デフォルト = 4) 表示される最小フォント サイズ

  • font_step : int (デフォルト = 1) フォント ステップ サイズ ステップ サイズが 1 より大きい場合、操作は高速化されますが、結果の誤差が大きくなります。

  • max_words : 数値 (デフォルト=200) 表示される単語の最大数

  • stopwords : 一連の文字列またはなし ブロックされる単語を設定します。空の場合は、組み込みのストップワードを使用します

  • background_color: 色の値 (デフォルト =”black”) 背景色。background_color=’white’ など、背景色は白です。

  • max_font_size : int または None (default=None) 表示される最大フォント サイズ

  • mode : string (default="RGB") パラメータが "RGBA" で、background_color が空でない場合、背景は透明になります。

  • relative_scaling : float (default=.5) 単語の頻度とフォントサイズの相関

  • color_func : callable、default=None 新しい色を生成する関数、空の場合は self.color_func を使用します

  • regexp: string または None (オプション) 正規表現を使用して入力テキストを区切ります

  • collocations: bool、default=True 2 つの単語の連語を含めるかどうか

  • colormap: string または matplotlib colormap、default=”viridis color_func が指定されている場合、このメソッドは無視されます。

  • エフェクト表示

使用している写真はブロガー自身の写真です。


——————終了——————

関連する推奨事項:

Pythonソケットを使用してhttp(s)リクエストメソッドを送信します

以上がPython を使用して、10 分で独自のパーソナライズされたロゴを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。