ホームページ  >  記事  >  バックエンド開発  >  枕絵に漢字を入れる例を詳しく解説

枕絵に漢字を入れる例を詳しく解説

零下一度
零下一度オリジナル
2018-05-18 16:36:135466ブラウズ

目次 opencv2または3を使用する場合、画像上に表示したい 中国語テキストを追加するには、Freetypeライブラリをダウンロードしてコンパイルし、中国語を出力するopencvライブラリにリンクする必要があります。インターネット上の画像に中国語を挿入するチュートリアルのほとんどは、依然として win+vs 構成チュートリアルです。私のようにwin環境とlinux環境を持っている人にとって、コードの同期は確かに少々面倒です。幸いなことに、代わりとなるものがあります。それが以下の例です。枕です。

準備
  • 枕のインストール
  • は、次のようにしてインストールできます:
  • pip installpillow

    または

    conda installpillow
  • 中国語をサポートする次のフォントライブラリ
  • 検索キーワード: ttf font。 好みのフォント スタイル ライブラリをダウンロードします。通常、ファイルの拡張子は ttf です。 Microsoft Yahei ライブラリをダウンロードしました。ファイル名は msyh.ttf
  • まず、新しい Python ファイル draw_chinese.py を作成します。 ipython-notebook スタイルのサンプル コードについては、こちらをご覧ください

    1. ライブラリをインポートします

  • import cv2from PIL import Image,ImageFont,ImageDrawfrom matplotlib.pyplot import imshowimport numpy as np

Image: オブジェクトのインスタンスは画像を表し、次の処理を実行できます。いくつかのサイズ変換とアフィン変換操作

ImageFont: 準備段階でダウンロードしたフォント ライブラリ ファイルをロードするために使用されます

ImageDraw: 画像オブジェクトに基づいて、次のような画像を作成します。 Image code> で使用されます。インスタンスに線を描画し、テキストを貼り付けるためのオブジェクトです。

2. 画像を作成します

img = Image.new(mode="RGB",size=(400,150),color=(120,20,20))
#或者从numpy对象中创建也行。可以把opencv的图片转为numpy,通过numpy连接两个图像处理库。
#img = Image.fromarray(numpy_object)
img.show()
  1. 3. フォントライブラリをロードします

    path_to_ttf = r'data/msyh.ttf'
    font = ImageFont.truetype(path_to_ttf, size=25)
    #size 确定一个汉字的大小

    6. キャンバス上で必要なことを行いますpip install pillow
    或者
    conda install pillow
  2. 下一个支持中文的字体库
    搜索关键词:ttf 字体。 下载一个你喜欢的字体风格库,文件的后缀一般为ttf。我下载了一个微软雅黑库,文件名就是msyh.ttf

示例

首先新建一个python文件:draw_chinese.py。示例代码ipython-notebook风格请去这里
1.导入库

draw = ImageDraw.Draw( img )

Image:对象的实例代表一张图片,可以进行一些大小变换和仿射变换操作
ImageFont:用来加载准备阶段中下载的字体库文件
ImageDraw: 基于image对象,创建一个可以在Image

枕絵に漢字を入れる例を詳しく解説

この方法では、Freetype ライブラリを自分でダウンロードしてコンパイルする必要がなく、pillow のインストールも非常に簡単です。書かれたコードは python2 と python3 の両方で使用できます。クロスプラットフォームでも問題ありません。 Curve は、opencv が中国語フォントをネイティブにサポートしていないという問題を解決したと言えます。

Pillow は、opencv の一部の機能を実行できるライブラリです。これまでのところ、一般的に使用されているが、Pillow には存在しない設定を見つけました。 長方形のフレームを描画する場合、長方形のフレームの端の幅を設定することはできません。元の幅を追加または増やすたびに、1 ピクセルの座標位置を減らし、フレームを繰り返して幅を増やす効果を実現する必要があります。 Opencv では、width パラメーターを指定するだけで済みます。

以上が枕絵に漢字を入れる例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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