Skip to content

Instantly share code, notes, and snippets.

@showyou
Created August 7, 2019 04:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save showyou/5eb98aea8070c7c87bec637c11026fc4 to your computer and use it in GitHub Desktop.
Save showyou/5eb98aea8070c7c87bec637c11026fc4 to your computer and use it in GitHub Desktop.
moji2mojiImg.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "moji2mojiImg.ipynb",
"version": "0.3.2",
"provenance": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/showyou/5eb98aea8070c7c87bec637c11026fc4/moji2mojiimg.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "7bbzx_0_EbBy",
"colab_type": "code",
"outputId": "771ae5d3-4fdc-4012-ba3d-5cc86bb124e6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 513
}
},
"source": [
"!apt-get -y install fonts-ipafont-gothic"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Reading package lists... Done\n",
"Building dependency tree \n",
"Reading state information... Done\n",
"The following package was automatically installed and is no longer required:\n",
" libnvidia-common-410\n",
"Use 'apt autoremove' to remove it.\n",
"The following additional packages will be installed:\n",
" fonts-ipafont-mincho\n",
"The following NEW packages will be installed:\n",
" fonts-ipafont-gothic fonts-ipafont-mincho\n",
"0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded.\n",
"Need to get 8,251 kB of archives.\n",
"After this operation, 28.7 MB of additional disk space will be used.\n",
"Get:1 http://archive.ubuntu.com/ubuntu bionic/universe amd64 fonts-ipafont-gothic all 00303-18ubuntu1 [3,526 kB]\n",
"Get:2 http://archive.ubuntu.com/ubuntu bionic/universe amd64 fonts-ipafont-mincho all 00303-18ubuntu1 [4,725 kB]\n",
"Fetched 8,251 kB in 1s (7,318 kB/s)\n",
"Selecting previously unselected package fonts-ipafont-gothic.\n",
"(Reading database ... 131289 files and directories currently installed.)\n",
"Preparing to unpack .../fonts-ipafont-gothic_00303-18ubuntu1_all.deb ...\n",
"Unpacking fonts-ipafont-gothic (00303-18ubuntu1) ...\n",
"Selecting previously unselected package fonts-ipafont-mincho.\n",
"Preparing to unpack .../fonts-ipafont-mincho_00303-18ubuntu1_all.deb ...\n",
"Unpacking fonts-ipafont-mincho (00303-18ubuntu1) ...\n",
"Setting up fonts-ipafont-gothic (00303-18ubuntu1) ...\n",
"update-alternatives: using /usr/share/fonts/opentype/ipafont-gothic/ipag.ttf to provide /usr/share/fonts/truetype/fonts-japanese-gothic.ttf (fonts-japanese-gothic.ttf) in auto mode\n",
"Setting up fonts-ipafont-mincho (00303-18ubuntu1) ...\n",
"update-alternatives: using /usr/share/fonts/opentype/ipafont-mincho/ipam.ttf to provide /usr/share/fonts/truetype/fonts-japanese-mincho.ttf (fonts-japanese-mincho.ttf) in auto mode\n",
"Processing triggers for fontconfig (2.12.6-0ubuntu2) ...\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "0LLSsrOMEq50",
"colab_type": "code",
"outputId": "c8893c88-8406-4afa-ad8f-4d9056ffc692",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 391
}
},
"source": [
"import matplotlib.font_manager as fm\n",
"fonts = fm.findSystemFonts()\n",
"for font in fonts:\n",
" print(str(font), \" \",fm.FontProperties(fname=font).get_name())"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf Liberation Sans\n",
"/usr/share/fonts/truetype/fonts-japanese-mincho.ttf IPAMincho\n",
"/usr/share/fonts/opentype/ipafont-gothic/ipag.ttf IPAGothic\n",
"/usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf IPAPMincho\n",
"/usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf IPAPGothic\n",
"/usr/share/fonts/truetype/liberation/LiberationSans-BoldItalic.ttf Liberation Sans\n",
"/usr/share/fonts/truetype/liberation/LiberationSansNarrow-BoldItalic.ttf Liberation Sans Narrow\n",
"/usr/share/fonts/truetype/liberation/LiberationSansNarrow-Bold.ttf Liberation Sans Narrow\n",
"/usr/share/fonts/truetype/liberation/LiberationSerif-Italic.ttf Liberation Serif\n",
"/usr/share/fonts/truetype/liberation/LiberationSerif-Bold.ttf Liberation Serif\n",
"/usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf Liberation Mono\n",
"/usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf Liberation Sans\n",
"/usr/share/fonts/truetype/liberation/LiberationMono-Italic.ttf Liberation Mono\n",
"/usr/share/fonts/truetype/liberation/LiberationSansNarrow-Regular.ttf Liberation Sans Narrow\n",
"/usr/share/fonts/truetype/liberation/LiberationMono-Bold.ttf Liberation Mono\n",
"/usr/share/fonts/truetype/liberation/LiberationSansNarrow-Italic.ttf Liberation Sans Narrow\n",
"/usr/share/fonts/truetype/liberation/LiberationSans-Italic.ttf Liberation Sans\n",
"/usr/share/fonts/truetype/liberation/LiberationSerif-Regular.ttf Liberation Serif\n",
"/usr/share/fonts/opentype/ipafont-mincho/ipam.ttf IPAMincho\n",
"/usr/share/fonts/truetype/liberation/LiberationMono-BoldItalic.ttf Liberation Mono\n",
"/usr/share/fonts/truetype/liberation/LiberationSerif-BoldItalic.ttf Liberation Serif\n",
"/usr/share/fonts/truetype/fonts-japanese-gothic.ttf IPAGothic\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "LKIkTPntE0a9",
"colab_type": "code",
"colab": {}
},
"source": [
"from PIL import Image, ImageDraw, ImageFont\n",
"## 与えられた文字列を、画像にする関数\n",
"## 1文字あたりのサイズ&縦横の文字数も引数で指定\n",
"def str2img(input_str, yoko_mojisuu, tate_mojisuu, moji_size):\n",
" # 真っ白な背景画像を生成する\n",
" # 横(縦)幅 = 文字サイズ× 横(縦)文字数\n",
" img = Image.new('RGBA', (moji_size * yoko_mojisuu , moji_size * tate_mojisuu), 'white')\n",
" # 背景画像上に描画を行う\n",
" draw = ImageDraw.Draw(img)\n",
"\n",
" # フォントの読み込みを行う。(環境によって異なる)\n",
" myfont = ImageFont.truetype(\"fonts-japanese-gothic.ttf /usr/share/fonts/truetype/fonts-japanese-gothic.ttf\", moji_size)\n",
"\n",
" # 文字を書く。基本は以下で済むが、今回は1文字ずつ記入\n",
" # draw.text((0, 0), input_str , fill=(0, 0, 0), font = myfont)\n",
" # ※備考:1文字ずつ記入の場合、半角と全角を区別しないといけなくなる\n",
" # (今回は全角前提とする)\n",
" # fillは、文字の色をRBG形式で指定するもの。今回は黒なので0,0,0固定\n",
" # 縦横のサイズに合せて1文字ずつ描画\n",
" yoko_count = 0\n",
" tate_count = 0\n",
" for char in input_str:\n",
" #縦の文字数の許容量を途中でオーバーしてしまった場合は終了\n",
" if tate_count >= tate_mojisuu:\n",
" break\n",
" #所定の位置に1文字ずつ描画\n",
" draw.text( ( yoko_count * moji_size, tate_count * moji_size ), char, fill=(0, 0, 0), font = myfont)\n",
" yoko_count +=1\n",
" if yoko_count >= yoko_mojisuu:\n",
" yoko_count = 0\n",
" tate_count += 1\n",
"\n",
" return img"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "bK-QBmUlveU3",
"colab_type": "code",
"outputId": "0e2597fb-d61c-43cb-c8e5-13717369efd2",
"colab": {
"resources": {
"http://localhost:8080/nbextensions/google.colab/files.js": {
"data": "Ly8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IEhlbHBlcnMgZm9yIGdvb2dsZS5jb2xhYiBQeXRob24gbW9kdWxlLgogKi8KKGZ1bmN0aW9uKHNjb3BlKSB7CmZ1bmN0aW9uIHNwYW4odGV4dCwgc3R5bGVBdHRyaWJ1dGVzID0ge30pIHsKICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHN0eWxlQXR0cmlidXRlcykpIHsKICAgIGVsZW1lbnQuc3R5bGVba2V5XSA9IHN0eWxlQXR0cmlidXRlc1trZXldOwogIH0KICByZXR1cm4gZWxlbWVudDsKfQoKLy8gTWF4IG51bWJlciBvZiBieXRlcyB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIGF0IGEgdGltZS4KY29uc3QgTUFYX1BBWUxPQURfU0laRSA9IDEwMCAqIDEwMjQ7Ci8vIE1heCBhbW91bnQgb2YgdGltZSB0byBibG9jayB3YWl0aW5nIGZvciB0aGUgdXNlci4KY29uc3QgRklMRV9DSEFOR0VfVElNRU9VVF9NUyA9IDMwICogMTAwMDsKCmZ1bmN0aW9uIF91cGxvYWRGaWxlcyhpbnB1dElkLCBvdXRwdXRJZCkgewogIGNvbnN0IHN0ZXBzID0gdXBsb2FkRmlsZXNTdGVwKGlucHV0SWQsIG91dHB1dElkKTsKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIC8vIENhY2hlIHN0ZXBzIG9uIHRoZSBvdXRwdXRFbGVtZW50IHRvIG1ha2UgaXQgYXZhaWxhYmxlIGZvciB0aGUgbmV4dCBjYWxsCiAgLy8gdG8gdXBsb2FkRmlsZXNDb250aW51ZSBmcm9tIFB5dGhvbi4KICBvdXRwdXRFbGVtZW50LnN0ZXBzID0gc3RlcHM7CgogIHJldHVybiBfdXBsb2FkRmlsZXNDb250aW51ZShvdXRwdXRJZCk7Cn0KCi8vIFRoaXMgaXMgcm91Z2hseSBhbiBhc3luYyBnZW5lcmF0b3IgKG5vdCBzdXBwb3J0ZWQgaW4gdGhlIGJyb3dzZXIgeWV0KSwKLy8gd2hlcmUgdGhlcmUgYXJlIG11bHRpcGxlIGFzeW5jaHJvbm91cyBzdGVwcyBhbmQgdGhlIFB5dGhvbiBzaWRlIGlzIGdvaW5nCi8vIHRvIHBvbGwgZm9yIGNvbXBsZXRpb24gb2YgZWFjaCBzdGVwLgovLyBUaGlzIHVzZXMgYSBQcm9taXNlIHRvIGJsb2NrIHRoZSBweXRob24gc2lkZSBvbiBjb21wbGV0aW9uIG9mIGVhY2ggc3RlcCwKLy8gdGhlbiBwYXNzZXMgdGhlIHJlc3VsdCBvZiB0aGUgcHJldmlvdXMgc3RlcCBhcyB0aGUgaW5wdXQgdG8gdGhlIG5leHQgc3RlcC4KZnVuY3Rpb24gX3VwbG9hZEZpbGVzQ29udGludWUob3V0cHV0SWQpIHsKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIGNvbnN0IHN0ZXBzID0gb3V0cHV0RWxlbWVudC5zdGVwczsKCiAgY29uc3QgbmV4dCA9IHN0ZXBzLm5leHQob3V0cHV0RWxlbWVudC5sYXN0UHJvbWlzZVZhbHVlKTsKICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5leHQudmFsdWUucHJvbWlzZSkudGhlbigodmFsdWUpID0+IHsKICAgIC8vIENhY2hlIHRoZSBsYXN0IHByb21pc2UgdmFsdWUgdG8gbWFrZSBpdCBhdmFpbGFibGUgdG8gdGhlIG5leHQKICAgIC8vIHN0ZXAgb2YgdGhlIGdlbmVyYXRvci4KICAgIG91dHB1dEVsZW1lbnQubGFzdFByb21pc2VWYWx1ZSA9IHZhbHVlOwogICAgcmV0dXJuIG5leHQudmFsdWUucmVzcG9uc2U7CiAgfSk7Cn0KCi8qKgogKiBHZW5lcmF0b3IgZnVuY3Rpb24gd2hpY2ggaXMgY2FsbGVkIGJldHdlZW4gZWFjaCBhc3luYyBzdGVwIG9mIHRoZSB1cGxvYWQKICogcHJvY2Vzcy4KICogQHBhcmFtIHtzdHJpbmd9IGlucHV0SWQgRWxlbWVudCBJRCBvZiB0aGUgaW5wdXQgZmlsZSBwaWNrZXIgZWxlbWVudC4KICogQHBhcmFtIHtzdHJpbmd9IG91dHB1dElkIEVsZW1lbnQgSUQgb2YgdGhlIG91dHB1dCBkaXNwbGF5LgogKiBAcmV0dXJuIHshSXRlcmFibGU8IU9iamVjdD59IEl0ZXJhYmxlIG9mIG5leHQgc3RlcHMuCiAqLwpmdW5jdGlvbiogdXBsb2FkRmlsZXNTdGVwKGlucHV0SWQsIG91dHB1dElkKSB7CiAgY29uc3QgaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5wdXRJZCk7CiAgaW5wdXRFbGVtZW50LmRpc2FibGVkID0gZmFsc2U7CgogIGNvbnN0IG91dHB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvdXRwdXRJZCk7CiAgb3V0cHV0RWxlbWVudC5pbm5lckhUTUwgPSAnJzsKCiAgY29uc3QgcGlja2VkUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICBpbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKGUpID0+IHsKICAgICAgcmVzb2x2ZShlLnRhcmdldC5maWxlcyk7CiAgICB9KTsKICB9KTsKCiAgY29uc3QgY2FuY2VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgaW5wdXRFbGVtZW50LnBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoY2FuY2VsKTsKICBjYW5jZWwudGV4dENvbnRlbnQgPSAnQ2FuY2VsIHVwbG9hZCc7CiAgY29uc3QgY2FuY2VsUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICBjYW5jZWwub25jbGljayA9ICgpID0+IHsKICAgICAgcmVzb2x2ZShudWxsKTsKICAgIH07CiAgfSk7CgogIC8vIENhbmNlbCB1cGxvYWQgaWYgdXNlciBoYXNuJ3QgcGlja2VkIGFueXRoaW5nIGluIHRpbWVvdXQuCiAgY29uc3QgdGltZW91dFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgIHJlc29sdmUobnVsbCk7CiAgICB9LCBGSUxFX0NIQU5HRV9USU1FT1VUX01TKTsKICB9KTsKCiAgLy8gV2FpdCBmb3IgdGhlIHVzZXIgdG8gcGljayB0aGUgZmlsZXMuCiAgY29uc3QgZmlsZXMgPSB5aWVsZCB7CiAgICBwcm9taXNlOiBQcm9taXNlLnJhY2UoW3BpY2tlZFByb21pc2UsIHRpbWVvdXRQcm9taXNlLCBjYW5jZWxQcm9taXNlXSksCiAgICByZXNwb25zZTogewogICAgICBhY3Rpb246ICdzdGFydGluZycsCiAgICB9CiAgfTsKCiAgaWYgKCFmaWxlcykgewogICAgcmV0dXJuIHsKICAgICAgcmVzcG9uc2U6IHsKICAgICAgICBhY3Rpb246ICdjb21wbGV0ZScsCiAgICAgIH0KICAgIH07CiAgfQoKICBjYW5jZWwucmVtb3ZlKCk7CgogIC8vIERpc2FibGUgdGhlIGlucHV0IGVsZW1lbnQgc2luY2UgZnVydGhlciBwaWNrcyBhcmUgbm90IGFsbG93ZWQuCiAgaW5wdXRFbGVtZW50LmRpc2FibGVkID0gdHJ1ZTsKCiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7CiAgICBjb25zdCBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpJyk7CiAgICBsaS5hcHBlbmQoc3BhbihmaWxlLm5hbWUsIHtmb250V2VpZ2h0OiAnYm9sZCd9KSk7CiAgICBsaS5hcHBlbmQoc3BhbigKICAgICAgICBgKCR7ZmlsZS50eXBlIHx8ICduL2EnfSkgLSAke2ZpbGUuc2l6ZX0gYnl0ZXMsIGAgKwogICAgICAgIGBsYXN0IG1vZGlmaWVkOiAkewogICAgICAgICAgICBmaWxlLmxhc3RNb2RpZmllZERhdGUgPyBmaWxlLmxhc3RNb2RpZmllZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCkgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbi9hJ30gLSBgKSk7CiAgICBjb25zdCBwZXJjZW50ID0gc3BhbignMCUgZG9uZScpOwogICAgbGkuYXBwZW5kQ2hpbGQocGVyY2VudCk7CgogICAgb3V0cHV0RWxlbWVudC5hcHBlbmRDaGlsZChsaSk7CgogICAgY29uc3QgZmlsZURhdGFQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKICAgICAgcmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7CiAgICAgICAgcmVzb2x2ZShlLnRhcmdldC5yZXN1bHQpOwogICAgICB9OwogICAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7CiAgICB9KTsKICAgIC8vIFdhaXQgZm9yIHRoZSBkYXRhIHRvIGJlIHJlYWR5LgogICAgbGV0IGZpbGVEYXRhID0geWllbGQgewogICAgICBwcm9taXNlOiBmaWxlRGF0YVByb21pc2UsCiAgICAgIHJlc3BvbnNlOiB7CiAgICAgICAgYWN0aW9uOiAnY29udGludWUnLAogICAgICB9CiAgICB9OwoKICAgIC8vIFVzZSBhIGNodW5rZWQgc2VuZGluZyB0byBhdm9pZCBtZXNzYWdlIHNpemUgbGltaXRzLiBTZWUgYi82MjExNTY2MC4KICAgIGxldCBwb3NpdGlvbiA9IDA7CiAgICB3aGlsZSAocG9zaXRpb24gPCBmaWxlRGF0YS5ieXRlTGVuZ3RoKSB7CiAgICAgIGNvbnN0IGxlbmd0aCA9IE1hdGgubWluKGZpbGVEYXRhLmJ5dGVMZW5ndGggLSBwb3NpdGlvbiwgTUFYX1BBWUxPQURfU0laRSk7CiAgICAgIGNvbnN0IGNodW5rID0gbmV3IFVpbnQ4QXJyYXkoZmlsZURhdGEsIHBvc2l0aW9uLCBsZW5ndGgpOwogICAgICBwb3NpdGlvbiArPSBsZW5ndGg7CgogICAgICBjb25zdCBiYXNlNjQgPSBidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgY2h1bmspKTsKICAgICAgeWllbGQgewogICAgICAgIHJlc3BvbnNlOiB7CiAgICAgICAgICBhY3Rpb246ICdhcHBlbmQnLAogICAgICAgICAgZmlsZTogZmlsZS5uYW1lLAogICAgICAgICAgZGF0YTogYmFzZTY0LAogICAgICAgIH0sCiAgICAgIH07CiAgICAgIHBlcmNlbnQudGV4dENvbnRlbnQgPQogICAgICAgICAgYCR7TWF0aC5yb3VuZCgocG9zaXRpb24gLyBmaWxlRGF0YS5ieXRlTGVuZ3RoKSAqIDEwMCl9JSBkb25lYDsKICAgIH0KICB9CgogIC8vIEFsbCBkb25lLgogIHlpZWxkIHsKICAgIHJlc3BvbnNlOiB7CiAgICAgIGFjdGlvbjogJ2NvbXBsZXRlJywKICAgIH0KICB9Owp9CgpzY29wZS5nb29nbGUgPSBzY29wZS5nb29nbGUgfHwge307CnNjb3BlLmdvb2dsZS5jb2xhYiA9IHNjb3BlLmdvb2dsZS5jb2xhYiB8fCB7fTsKc2NvcGUuZ29vZ2xlLmNvbGFiLl9maWxlcyA9IHsKICBfdXBsb2FkRmlsZXMsCiAgX3VwbG9hZEZpbGVzQ29udGludWUsCn07Cn0pKHNlbGYpOwo=",
"ok": true,
"headers": [
[
"content-type",
"application/javascript"
]
],
"status": 200,
"status_text": ""
}
},
"base_uri": "https://localhost:8080/",
"height": 71
}
},
"source": [
"from google.colab import files\n",
"uploaded = files.upload()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"\n",
" <input type=\"file\" id=\"files-f3ebe9e1-1323-4a2d-8ac2-dd105187e7e6\" name=\"files[]\" multiple disabled />\n",
" <output id=\"result-f3ebe9e1-1323-4a2d-8ac2-dd105187e7e6\">\n",
" Upload widget is only available when the cell has been executed in the\n",
" current browser session. Please rerun this cell to enable.\n",
" </output>\n",
" <script src=\"/nbextensions/google.colab/files.js\"></script> "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Saving honoka.png to honoka.png\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "LmwqRZ7WF4Qm",
"colab_type": "code",
"colab": {}
},
"source": [
"from PIL import Image, ImageDraw, ImageFont\n",
"# 与えた画像を、グレースケールのリストに変換する関数(白=1、灰=0.5、黒=0)\n",
"# 元がカラー画像でも対応出来るようにしている\n",
"def img2graylist(input_img):\n",
" #幅と高さを取得する\n",
" img_width, img_height = input_img.size\n",
" print('幅 : ', img_width)\n",
" print('高さ: ', img_height)\n",
"\n",
" #最終的に出力する二次元リスト\n",
" result_graylist = []\n",
" for y in range(0, img_height, 1):\n",
" # 1行ごとのテンポラリリスト\n",
" tmp_graylist=[]\n",
" for x in range(0, img_width, 1):\n",
" # 1ピクセルのデータ(RGB値)を取得\n",
" #(20, 16, 17, 255)のように4つのデータが取れる⇒3つに絞って使う\n",
" r,g,b, = input_img.getpixel((x,y))[0:3]\n",
"\n",
" #RGB値の平均=グレースケールを求める\n",
" g = (r + g + b)/3\n",
" tmp_graylist.append(g)\n",
" #1行終わるごとにテンポラリリストを最終出力に追加\n",
" result_graylist.append(tmp_graylist)\n",
" return result_graylist\n",
"\n",
"# 与えたグレイリストを、白=1、黒=0のリストに変換する関数\n",
"# 黒が多い画像⇒全て黒、や、色の薄い画像⇒全て白、にならないように、\n",
"# 閾値として、平均値を取得した後で、その閾値との大小で判定する\n",
"# よって、薄い画像が全部白に、濃い画像が全部黒に、などはならない\n",
"import numpy as np\n",
"def graylist2wblist(input_graylist):\n",
"\n",
" #与えられた二次元配列の値の平均値を求める(npを使っても良いが)\n",
" gray_sum_list = []\n",
" for tmp_graylist in input_graylist:\n",
" gray_sum_list.append( sum(tmp_graylist)/len(tmp_graylist) )\n",
" gray_ave = sum(gray_sum_list)/len(gray_sum_list) \n",
" print(\"灰色平均値: \", gray_ave)\n",
"\n",
" # 最終的に出力する二次元の白黒リスト\n",
" result_wblist = []\n",
" for tmp_graylist in input_graylist:\n",
" tmp_wblist = []\n",
" for tmp_gray_val in tmp_graylist:\n",
" #閾値と比べて大きいか小さいかによって1か0を追加\n",
" if tmp_gray_val >= gray_ave:\n",
" tmp_wblist.append(1)\n",
" else:\n",
" tmp_wblist.append(0)\n",
" result_wblist.append(tmp_wblist)\n",
"\n",
" return result_wblist"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "YbWlDjruF6kH",
"colab_type": "code",
"outputId": "3833c026-852d-4540-f2b3-fe94deb0c602",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"#与えられた2次元文字列リストをプリントする関数(pprint的なもの)\n",
"#(※最終出力時には使わないが、途中経過を見る用途)\n",
"def print2Dcharlist(charlist):\n",
" for tmp_charlist in charlist:\n",
" for char in tmp_charlist:\n",
" #改行無しで出力\n",
" print(char, end=\"\")\n",
" #1行終わるごとに改行\n",
" print()\n",
"\n",
"#img = str2img(\"般若波羅蜜多\", 6, 1, 20)\n",
"def load_image(filename):\n",
" img = Image.open(filename)\n",
" img = img.resize((107,88))\n",
" return img\n",
"img = load_image(\"honoka.png\")\n",
"graylist = img2graylist(img)\n",
"wblist = graylist2wblist(graylist)\n",
"\n",
"print2Dcharlist(wblist)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"幅 : 107\n",
"高さ: 88\n",
"灰色平均値: 215.11105210988381\n",
"11111111111111111111111111111111111111111111111111111111111111111111110101111111111111111111111111111111111\n",
"11111111111111111111111111111111111111111111111111111111111111000011110110111111111111111111111111111111111\n",
"11111111111111111111111111111111111111111111111111111111111011110100110110111111111111111111111111111111111\n",
"11111111111111111111111111111111111111111111111111111111110100110000010101111111111111111111111111111111111\n",
"11111111111111111111111111111111111111111111111111111111110100001111110010011111111111111111111111111111111\n",
"11111111111111111111111111111111110000000000010011111111111010011100111010011111111111111111111111111111111\n",
"11111111111111111111111111111111110000100001010011111111101000011000000000001111111111111111111111111111111\n",
"11111111111111111111111111111111110001111111000001111110110000000100000000001111111111111111111111111111111\n",
"11111111111111111111111111111111110111110000000100000000111111000000000101011111111111111111111111111111111\n",
"11111111111111111111111111111111111111010001000111100001011111100000001101101111111111111111111111111111111\n",
"11111111111111111111111111111111111100101000000010000000000111111000000000001111111111111111111111111111111\n",
"11111111111111111111111111111111110001001000010110000000000011111110000001011111111111111111111111111111111\n",
"11111111111111111111111111111111111001011001111100000000000000111111000000001111111111111111111111111111111\n",
"11111111111111111111111111111111111000010011111000000000000000001111101000001111111111111111111111111111111\n",
"11111111111111111111111111111111110000100111110000000000000000000111100000101111111111111111111111111111111\n",
"11111111111111111111111111111111111000001111100000000000000000000001100010001111111111111111111111111111111\n",
"11111111111111111111111111111111110000011111100000000000000000000000001000001111111111111111111111111111111\n",
"11111111111111111111111111111000100000101111000000000000001000000000001000111111111111111111111111111111111\n",
"11111111111111111111111111111010000000011110000000000000001100000000000001111111111111111111001111111111111\n",
"11111111111111111111110010010010000001011110000000000000011110000000001111111111111111110111001111111111111\n",
"11111111111111111111100000100100000000111100000000000000011111000000000111111111111111111110001111111111111\n",
"11111111111111111111001000011000000000110100010000000000011111000000000111111111111111110100011111111111111\n",
"11111111111111111111010000000000000001111000000010000000000111100000000111111111111111111000001111111111111\n",
"11111111111111111111000000000000001001111000110010000010111101100000000011111111111111100000101111111111111\n",
"11111111111111111111101100000000100000101001110110000101111111100000000011111111111110000001001111111111111\n",
"11111111111111111111101100000110000011110110100110001111111111100000000011111111111100000001011111111111111\n",
"11111111111111111111101000011000101001110111000000011111011111100000000011111111111100000000011111111111111\n",
"11111111111111111111101000111101011001110110000010011111111111100000000111111111111000000000000000011111111\n",
"11111111111111111111100000001000110000110100110010011111101111000000000111011011000000000000000000000000111\n",
"11111111111111111111100010000000010000101000000011001111000111000000000110001000000000000000000000000000001\n",
"11111111111111111111101001000000010000100011001011101110010000100000000111100000000000000000000010110110001\n",
"11111111111111111111110001110000010000100111001111111111111100100100001111100000000000000000000001000000001\n",
"11111111111111111111110001111000011000100011111111111111111101101011111011000000000001110111100111010000001\n",
"11111111111111111111111011111100011000000111111111111111110111000011110000000000000011111111111011110000001\n",
"11111111111111111111111011111100010000010111111111111111111111000001000110000000000111111111111110111000111\n",
"11111111111111111111111111111110010000100111111111001111110110101010100110000000000011111110011111101101111\n",
"11111111111111111111111111111111000010000011111100000001111101111111100100000000000000111110001101110111111\n",
"11111111111111111111111111100000001110000011111100000000101001111111101100000000000000001111100000111111101\n",
"11111111111111111111111111111100110100001111111100000001110011111111111100000000000000001111100000010100101\n",
"11111111111111111111111111111011101000011111111100000001110111111111011100000000101000110011110000000000101\n",
"11111111111111111111111111111100010000011101111110000001110111111111010100000001110010110000101000000000000\n",
"11111111111111111111111111110110100000011100111111000111101111011101011000000001100101011001101000000000101\n",
"11111111111111111111111111110111100000010000011111111111101110011111100000000000000010000000001110010000001\n",
"11111111111111111111111111110111110000001000000111111111100111111111010000000000000010000000101000111111111\n",
"11111111111111111111111111111000110000000000000011111110001101111110100000000000000101000111000101111111111\n",
"11111111111111111111111111110111100000000000000000011000000101111111100000000000000100000101000101111111110\n",
"11111111111111111111111111100101000100000000000000000000001111111111000000000000000000000111111111111111110\n",
"11111111111111111111111111111011001100011000000000000001000000111111000100000000000110000111111111111111110\n",
"11111111111111111111111111111111010001010000000000000011010110011111000000000000001100000111111111111111110\n",
"11111111111111111111111111111111000000110000000000000011101111110100000000000000011100011111111111111111110\n",
"11111111111111111111111111111011001110100100010001001011101111010000000000000000010100111111111111111111111\n",
"11111111111111111111111111111111111101111010001111011011000111100000000000000000111011111111111111111111110\n",
"11100101011111111111111111111011011010110000111111001011000000000010000000000000101111111111111111111111110\n",
"11100110110111111111111111111111010011111101111110101000001111000000000000000001000111111111111111111111110\n",
"01100010000111111111111111111011001111111111110100100100001111100000000000000001000010000111111111111111110\n",
"00110000000111111111111111110111111011111111111100100100011111100010000000000010010000010111111111111111110\n",
"10110010011111111111111111111111011111111011110010101000011111100000000000000100010111111111111111111111111\n",
"11110111000111111111111111111101111111111011111000010000011111000000000001100000011111111111111111111111110\n",
"10111011000111111111111111111011111111111011100001000000011111000000000000010000000111111111111111111111111\n",
"10001101111111111111111111111111111001111110001100000000010000000000000000000000000111111100001100000000001\n",
"11011110111111111111111111111011111001111000000000000000000000000000000010000111000111111100011010000000001\n",
"11000111111111111111111111111011011111111000000000000000000000000000000011111110100000000000000000000101111\n",
"11101111111111111111111111110111111111111000100000000000000000000000000011000111110000000010000010110111110\n",
"01010111111011101111111111111010111011111001000000000000000000000000000001000000101110110000010001000000111\n",
"11111111111111111111101111111111111110110001010000000000000000000000000010000000001111000000000010001100001\n",
"11111111111101110111111111111111100000010101000000000000000000000000000010000000000100000000000000010000001\n",
"10111111111111111111111111111111000000000101000000000000000001100000000000000000000000000001001000000000001\n",
"00000011111001111111111111111100000000000000000000000000000011111100000000000000000000011001111100000000001\n",
"11100001111100000001111111100000000010000010000000000000000011111100000000000000001001111111111101110000001\n",
"11100000000000110100001000000000001000000011000000000000000011111110000000000000001111111111111111111000001\n",
"11110000000000000011000000000100100000100111000000000000000001111110000000001101000111111111111111000100000\n",
"11100110000000000000000111111100000000000000000000010010000001111110000011001100000001111111101111100000001\n",
"01100011011111000000000000000000000111010000000001111000001011111111100000000000000000111111111100010100001\n",
"11100111111111111100000000000000011111000000000011111101000001111111100100000000000001111110111111111100001\n",
"11100111111111111111111000000011111111100111000001111110100001111111100000000000001000111110011111111110000\n",
"11111111111111111111111111111111111111000000001001111111000011111111111000000000000001111110011111111110001\n",
"11111111111111111111111111111111111110000000011100011111110001011111001000011000001111111111111111111110001\n",
"11111111111111111111111111111111111111111111111110001111110000111111000000101000101111111111111111111110001\n",
"11111111111111111111111111111111111111111111111110000111111000001111000110010000001111111111111111111100001\n",
"11111111111111111111111111111111111111111111111111000111111000011111111101000000010101111111111011100000001\n",
"11111111111111111111111111111111111111111111111111100011111110000111110000000000111000111111110001000000111\n",
"11111111111111111111111111111111111111111111111111110001111111001111100000000000111111111111111000000011101\n",
"11111111111111111111111111111111111111111111111111111000001111110011110000100110001111111111100000001110001\n",
"11111111111111111111111111111111111111111111111111111110001111111001100000000111100111111100000000111000001\n",
"11111111111111111111111111111111111111111111111111111111011111111111111011010111001111110000000011100000001\n",
"11111111111111111111111111111111111111111111111111111111111111111111011000110001111111000000011110000000001\n",
"11111111111111111111111111111111111111111111111111111100111110111111100101001000011000000001111000000000001\n",
"11111111111111111111111111111111111111111111111111100001111111111111000001100000000000001111000000000000001\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "5JTYtzy2GTsk",
"colab_type": "code",
"colab": {}
},
"source": [
"# 文字列を一文字ずつ取り出すジェネレータ。半無限ループにより繰り返し\n",
"def infinity_gen_str(str):\n",
" for a in range(1000000000):\n",
" for s in str:\n",
" yield s\n",
"# 以下のように使う\n",
"# 定義:gen_str = infinity_gen_str(\"表示したい文字列\")\n",
"# 使用:next(gen_str)\n",
"# これで、使用するたびに1文字ずつ出力される\n",
"\n",
"# 白黒リストの、白黒の部分を文字列で埋め尽くした二次元リストを返す\n",
"# 白=soto_strで埋める。黒=nakami_strで埋める。\n",
"def wblist2wbcharlist(input_wblist, nakami_str, soto_str):\n",
" # 1文字ずつ出力できるジェネレータの生成\n",
" gen_nakami_str = infinity_gen_str(nakami_str)\n",
" gen_soto_str = infinity_gen_str(soto_str)\n",
"\n",
" # 最終的に出力する二次元の白黒リスト\n",
" result_wbcharlist = []\n",
" for tmp_wblist in input_wblist:\n",
" tmp_wbcharlist = []\n",
" for tmp_wb_val in tmp_wblist:\n",
" # 値が1か0かによって、文字列を入れていく\n",
" # ※空白と等幅になる文字&フォントでやることが望ましい\n",
" if tmp_wb_val == 1:\n",
" # 1が白\n",
" # 空白固定ならコレでも同じ ⇒ tmp_wbcharlist.append( \" \" )\n",
" tmp_wbcharlist.append( next(gen_soto_str))\n",
" else:\n",
" # 0が黒\n",
" tmp_wbcharlist.append( next(gen_nakami_str) )\n",
"\n",
" result_wbcharlist.append(tmp_wbcharlist)\n",
"\n",
" return result_wbcharlist\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "6ViCm5HNGVbN",
"colab_type": "code",
"outputId": "6353252c-3f33-4d8f-8a1f-2a19fb3870c1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"img = load_image(\"honoka.png\")\n",
"graylist = img2graylist(img)\n",
"wblist = graylist2wblist(graylist)\n",
"#print2Dcharlist(wblist)\n",
"\n",
"# 今回は↑の外枠で「般若波羅蜜多」のフレーム(01)を作り、\n",
"# ↓の指定で、中身を「般若波羅密多」の文字列で埋める\n",
"wbcharlist = wblist2wbcharlist(wblist, \"ほ\",\" \")\n",
"print2Dcharlist(wbcharlist)\n",
"\n",
"all_str = \"\"\n",
"for tmp_list in wbcharlist:\n",
" for char in tmp_list:\n",
" all_str += char\n",
"\n",
"moji_size = 1\n",
"final_moji_size = 10\n",
"img1 = str2img(all_str, 107*moji_size, 88*moji_size, final_moji_size)\n",
"img1.save(\"chika_moji.png\")\n",
"\n",
"#colaboratoryで表示\n",
"import IPython\n",
"IPython.display.Image(\"chika_moji.png\")"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"幅 : 107\n",
"高さ: 88\n",
"灰色平均値: 215.11105210988381\n",
" ほ ほ \n",
" ほほほほ ほ ほ \n",
" ほ ほ ほほ ほ ほ \n",
" ほ ほほ ほほほほほ ほ ほ \n",
" ほ ほほほほ ほほ ほほ \n",
" ほほほほほほほほほほほ ほほ ほ ほほ ほほ ほ ほほ \n",
" ほほほほ ほほほほ ほ ほほ ほ ほほほほ ほほほほほほほほほほほ \n",
" ほほほ ほほほほほ ほ ほほほほほほほ ほほほほほほほほほほ \n",
" ほ ほほほほほほほ ほほほほほほほほ ほほほほほほほほほ ほ ほ \n",
" ほ ほほほ ほほほ ほほほほ ほ ほほほほほほほ ほ ほ \n",
" ほほ ほ ほほほほほほほ ほほほほほほほほほほ ほほほほほほほほほほほ \n",
" ほほほ ほほ ほほほほ ほ ほほほほほほほほほほほ ほほほほほほ ほ \n",
" ほほ ほ ほほ ほほほほほほほほほほほほほほ ほほほほほほほほ \n",
" ほほほほ ほほ ほほほほほほほほほほほほほほほほほ ほ ほほほほほ \n",
" ほほほほ ほほ ほほほほほほほほほほほほほほほほほほほ ほほほほほ ほ \n",
" ほほほほほ ほほほほほほほほほほほほほほほほほほほほほほ ほほほ ほほほ \n",
" ほほほほほ ほほほほほほほほほほほほほほほほほほほほほほほほほ ほほほほほ \n",
" ほほほ ほほほほほ ほ ほほほほほほほほほほほほほほ ほほほほほほほほほほほ ほほほ \n",
" ほ ほほほほほほほほ ほほほほほほほほほほほほほほほ ほほほほほほほほほほほほほ ほほ \n",
" ほほ ほほ ほほ ほほほほほほ ほ ほほほほほほほほほほほほほほ ほほほほほほほほほ ほ ほほ \n",
" ほほほほほ ほほ ほほほほほほほほ ほほほほほほほほほほほほほほほ ほほほほほほほほほ ほほほ \n",
" ほほ ほほほほ ほほほほほほほほほ ほ ほほほ ほほほほほほほほほほほ ほほほほほほほほほ ほ ほほほ \n",
" ほ ほほほほほほほほほほほほほほほ ほほほほほほほ ほほほほほほほほほほ ほほほほほほほほ ほほほほほ \n",
" ほほほほほほほほほほほほほほ ほほ ほほほ ほほ ほほほほほ ほ ほ ほほほほほほほほほ ほほほほほ ほ \n",
" ほ ほほほほほほほほ ほほほほほ ほ ほほ ほ ほほほほ ほ ほほほほほほほほほ ほほほほほほ ほほ \n",
" ほ ほほほほほ ほほほほほ ほ ほ ほほ ほほほ ほほほほほほほほほ ほほほほほほほ ほ \n",
" ほ ほほほほ ほほほ ほ ほほ ほ ほほほほほほほ ほ ほほほほほほほほほ ほほほほほほほほほ \n",
" ほ ほほほ ほ ほ ほほ ほ ほほほほほ ほほ ほほほほほほほほ ほほほほほほほほほほほほほほほほ \n",
" ほほほほほほほ ほほほ ほほほほ ほ ほほ ほほ ほほ ほ ほほほほほほほほほ ほ ほ ほほほほほほほほほほほほほほほほほほほほほほほほ \n",
" ほほほ ほほほほほほほほ ほほほほ ほ ほほほほほほほ ほほ ほほほ ほほほほほほほほほ ほほほ ほほほほほほほほほほほほほほほほほほほほほほほほほほほほほ \n",
" ほ ほほ ほほほほほほほ ほほほほ ほほほ ほほ ほ ほ ほほ ほほほほ ほほほほほほほほ ほほほほほほほほほほほほほほほほほほほほほ ほ ほ ほほほ \n",
" ほほほ ほほほほほ ほほほほ ほほ ほほ ほほ ほほ ほほほほ ほほほほほほほほほほほほほほほほほほほほほほ ほほほほほほほほ \n",
" ほほほ ほほほほ ほほほ ほほほ ほ ほ ほ ほ ほほほほほほほほほほほ ほ ほほ ほ ほほほほほほ \n",
" ほ ほほほ ほほほほほほ ほ ほほほほ ほほほほほほほほほほほほほほ ほ ほほほほほほ \n",
" ほ ほほほ ほほほほほ ほ ほほほほほ ほほほ ほほほほほほほほほほ ほ ほほほ \n",
" ほほ ほほほほ ほほ ほほ ほ ほ ほ ほ ほ ほほ ほほほほほほほほほほほ ほほ ほ ほ \n",
" ほほほほ ほほほほほ ほほほほほほほ ほ ほほ ほほほほほほほほほほほほほほ ほほほ ほ ほ \n",
" ほほほほほほほ ほほほほほ ほほほほほほほほ ほ ほほ ほ ほほほほほほほほほほほほほほほほ ほほほほほ ほ \n",
" ほほ ほ ほほほほ ほほほほほほほ ほほ ほほほほほほほほほほほほほほほほ ほほほほほほ ほ ほほ ほ \n",
" ほ ほ ほほほほ ほほほほほほほ ほ ほ ほほほほほほほほ ほ ほほほ ほほ ほほほほほほほほほほ ほ \n",
" ほほほ ほほほほほ ほ ほほほほほほ ほ ほ ほ ほほほほほほほ ほほ ほ ほほほほ ほ ほほほほほほほほほほほほ\n",
" ほ ほ ほほほほほほ ほほ ほほほ ほ ほ ほ ほ ほほほほほほほほ ほほ ほ ほ ほほ ほ ほほほほほほほほほ ほ \n",
" ほ ほほほほほほ ほほほほほ ほ ほほ ほほほほほほほほほほほほほほほ ほほほほほほほほほ ほほ ほほほほほほ \n",
" ほ ほほほほほほ ほほほほほほ ほほ ほ ほほほほほほほほほほほほほほ ほほほほほほほ ほ ほほほ \n",
" ほほほ ほほほほほほほほほほほほほほ ほほほ ほ ほ ほほほほほほほほほほほほほほ ほ ほほほ ほほほ ほ \n",
" ほ ほほほほほほほほほほほほほほほほほほ ほほほほほほ ほ ほほほほほほほほほほほほほほ ほほほほほ ほ ほほほ ほ ほ\n",
" ほほ ほ ほほほ ほほほほほほほほほほほほほほほほほほほほほほ ほほほほほほほほほほほほほほほほほほほほほ ほ\n",
" ほ ほほ ほほほ ほほほほほほほほほほほほほほ ほほほほほほ ほほほ ほほほほほほほほほほほ ほほほほ ほ\n",
" ほ ほほほ ほ ほほほほほほほほほほほほほほ ほ ほ ほほ ほほほほほほほほほほほほほほ ほほほほほ ほ\n",
" ほほほほほほ ほほほほほほほほほほほほほほ ほ ほ ほほほほほほほほほほほほほほほ ほほほ ほ\n",
" ほ ほほ ほ ほほ ほほほ ほほほ ほほ ほ ほ ほ ほほほほほほほほほほほほほほほほほ ほ ほほ \n",
" ほ ほ ほほほ ほ ほ ほほほ ほほほほほほほほほほほほほほほほほ ほ ほ\n",
" ほほ ほ ほ ほ ほ ほ ほ ほほほほ ほほ ほ ほほほほほほほほほほ ほほほほほほほほほほほほほ ほ ほ\n",
" ほほ ほ ほ ほ ほほ ほ ほ ほ ほほほほほ ほほほほほほほほほほほほほほほほほ ほほほ ほ\n",
"ほ ほほほ ほほほほ ほ ほほ ほ ほほ ほほ ほほほほ ほほほほほほほほほほほほほほほほ ほほほほ ほほほほ ほ\n",
"ほほ ほほほほほほほ ほ ほ ほほ ほほ ほほほ ほほほ ほほほほほほほほほほほ ほほ ほほほほほ ほ ほ\n",
" ほ ほほ ほほ ほ ほ ほほ ほ ほ ほほほほ ほほほほほほほほほほほほほほ ほほほ ほ \n",
" ほ ほほほ ほ ほ ほほほほ ほほほほほ ほほほほほほほほほほほ ほほほほほほ ほ\n",
" ほ ほ ほほほ ほ ほ ほほほほ ほほほほほほほ ほほほほほほほほほほほほほ ほほほほほほほ \n",
" ほほほ ほ ほほ ほほほ ほほほほほほほほほ ほほほほほほほほほほほほほほほほほほほほほほほほほ ほほほほ ほほほほほほほほほほ \n",
" ほ ほ ほ ほほ ほほほほほほほほほほほほほほほほほほほほほほほほほほほほほほほ ほほほほ ほほほ ほほほ ほ ほほほほほほほほほ \n",
" ほほほ ほ ほ ほほほほほほほほほほほほほほほほほほほほほほほほほほほほほほほ ほ ほほほほほほほほほほほほほほほほほほほほ ほ \n",
" ほ ほ ほほほ ほほほほほほほほほほほほほほほほほほほほほほほほほほほ ほほほ ほほほほほほほほ ほほほほほ ほ ほ ほ\n",
"ほ ほ ほ ほ ほ ほ ほ ほ ほほ ほほほほほほほほほほほほほほほほほほほほほほほほほほほほほ ほほほほほほ ほ ほ ほほほほほ ほほほ ほほほほほほ \n",
" ほ ほ ほほほ ほ ほほほほほほほほほほほほほほほほほほほほほほほほほほ ほほほほほほほほほ ほほほほほほほほほほ ほほほ ほほほほ \n",
" ほ ほ ほほほほほほ ほ ほ ほほほほほほほほほほほほほほほほほほほほほほほほほほほほ ほほほほほほほほほほ ほほほほほほほほほほほほほほほ ほほほほほほ \n",
" ほ ほほほほほほほほほ ほ ほほほほほほほほほほほほほほほほほ ほほほほほほほほほほほほほほほほほほほほほほほほほほほほ ほほ ほほほほほほほほほほほ \n",
"ほほほほほほ ほほ ほほほほほほほほほほほほほほほほほほほほほほほほほほほほほほ ほほほほほほほほほほほほほほほほほほほほほ ほほ ほほほほほほほほほほ \n",
" ほほほほ ほほほほほほほ ほほほほほほほほほ ほほほほほ ほほほほほほほほほほほほほほほほほ ほほほほほほほほほほほほほほほほ ほほ ほ ほほほほほほ \n",
" ほほほほほほほほほほほ ほ ほほほほ ほほほほほほほほほほほ ほほほほほほほ ほほほほほほほほほほほほほほほほ ほほほほほほほほほほほほほほほ ほほほほほ \n",
" ほほほほほほほほほほほほほほ ほほほほほほほほほ ほほ ほほほほほ ほほ ほほほほほほほほほほほほほほほほほ ほほほほほほほほほ ほ ほほほ ほほほ ほほほほほ\n",
" ほほ ほほほほほほほほほほほほほほほほ ほほほほほほほほほほほほほほほほほほほほほ ほほ ほほほほほほ ほほほほほ ほほ ほほほほほほほ ほ ほほほほほほほ \n",
"ほ ほほほ ほ ほほほほほほほほほほほほほほほほほほほほほ ほ ほほほほほほほほほ ほほほほほ ほ ほほほほほほほほほほほほほほほほほ ほほほ ほ ほほほほ \n",
" ほほ ほほほほほほほほほほほほほほほ ほほほほほほほほほほ ほ ほほほほほ ほほ ほほほほほほほほほほほほほ ほ ほほほほ \n",
" ほほ ほほほほほほほ ほほ ほほほほほ ほ ほほほほ ほほほほほほほほほほほほほ ほほほ ほほ ほほほほ\n",
" ほほほほほほほほ ほほ ほほほほ ほほほほほほほほほほほほほほ ほほ ほほほ \n",
" ほほほほほほほほ ほほほ ほほほ ほ ほほ ほほほほ ほほほほほ ほほほ \n",
" ほほほ ほほほほ ほほほほほほ ほ ほほほ ほ ほほほ \n",
" ほほほほ ほほほほほ ほほほ ほほ ほほほほほほ ほほほほ \n",
" ほほほ ほほほほ ほ ほほほほほほほ ほ ほ ほ ほほほほほほほ \n",
" ほほほ ほほほほ ほほほほほほほほほほ ほほほ ほほほ ほほほほほほ \n",
" ほほほ ほほ ほほほほほほほほほほほ ほほほほほほほ ほ \n",
" ほほほほほ ほほ ほほほほ ほほ ほほほ ほほほほほほほ ほほほ \n",
" ほほほ ほほ ほほほほほほほほ ほほ ほほほほほほほほ ほほほほほ \n",
" ほ ほ ほ ほ ほほ ほほほほほほほほ ほほほほほほほ \n",
" ほ ほほほ ほほほ ほほほほほほほ ほほほほほほほほほ \n",
" ほほ ほ ほほ ほ ほほ ほほほほ ほほほほほほほほ ほほほほほほほほほほほ \n",
" ほほほほ ほほほほほ ほほほほほほほほほほほほほ ほほほほほほほほほほほほほほ \n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"image/png": "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\ncT4eU97Wzdfngus+W6+DfWWrz+Tus/+s12u9fwDsyfQ+SB/Ay8tL+vn5+cffBoNBut/vPc3oT1nn\n5zoH5BHn4zHlbd18fS647rP1OthXtvpM7j77z3q91vsHwJ4s74OH+MZFuVzWcDjU4XBQt9tVtVrV\nYrHQ9Xr1PTVJ2efnOgfkEefjMeVt3Xx9Lrjus/U62Fe2+kzuPvvPer3W+wfAnizvg4e4uCgUCioW\ni5rNZur1etrtdmo0GhoMBnp9fdXHx8dDzM91Dsgjzsdjytu6+fpccN1n63Wwr2z1mdx99p/1eq33\nD4A9Wd4Hv31PMotGo6E4jtXv9/X29qbn52dFUaTtdqv1eq1SqfQQ83OdA/KI8/GY8rZuvj4XXPfZ\neh3sK1t9Jnef/We9Xuv9A2BPlvfBrzRNU98T/Xfe399VKpX09PTkeypfyjo/1zkgjzgfjylv6+br\nc8F1n63Xwb4i9wg516zXa71/AOzJ8j54iIsLAAAAAACQTw/xGxcAAAAAACCfvnVxMR6PNZlMdD6f\n1W63VavVVK/XNRqNlCTJreZofn5Zx3WdA0LCvg+b9fX19R533RfrdVjvn3XW+0zO1n62Xof1/gGw\n5VsXF5vNRp1OR5VKRavVSsfjUXEcK45jnU6nW83R/Pyyjus6B4SEfR826+vr6z3uui/W67DeP+us\n95mcrf1svQ7r/QNgy7cuLpIkUbPZ1Hw+V6vVUhRFWi6Xmk6nulwut5qj+fllHdd1DggJ+z5s1tfX\n13vcdV+s12G9f9ZZ7zM5W/vZeh3W+wfAmPQbXl5e0s/Pzz/+NhgM0v1+/53H3Iyv+WUd13UOCAn7\nPmzW19fXe9x1X6zXYb1/1lnvMzlb+9l6Hdb7B8CWb33jolwuazgc6nA4qNvtqlqtarFY6Hq93uha\n5Xt8zS/ruK5zQEjY92Gzvr6+3uOu+2K9Duv9s856n8nZ2s/W67DePwC2fOviolAoqFgsajabqdfr\nabfbqdFoaDAY6PX1VR8fH7eap+n5ZR3XdQ4ICfs+bNbX19d73HVfrNdhvX/WWe8zOVv72Xod1vsH\nwJbf3wk3Gg3Fcax+v6+3tzc9Pz8riiJtt1ut12uVSqVbzdP0/LKO6zoHhIR9Hzbr6+vrPe66L9br\nsN4/66z3mZyt/Wy9Duv9A2DLrzRN06zh9/d3lUolPT093XJOf5uv+WUd13UOCAn7PmzW19fXe9x1\n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\nyxy8hqt+WJ8rcuzvM1CX78mHPXL6i4tSqaR+v6/dbqd2u61KpaLpdKrz+fxXOUDKfq7IkfOJ9Trn\nLZc3WdfFen+Zg9dw1Q/rc0WO/X0G6vI9+bBHTi8uisWi3t7eNB6P1e12tdlsFEWRkiTRYDDQ9Xr9\noxwgZT9X5Mj5xHqd85bLm6zrYr2/zMFruOqH9bkix/4+A3X5nnzYo5/Zl+VxURQpjmP1ej0Nh0PV\najWFYajVaqXFYqEgCP4oB0jZzxU5cj6xXue85fIm67pY7y9z8Bqu+mF9rsixv89AXb4nH/boR5qm\nafaleczlclEQBCoUCpnkACn7uSJHzifW65y3XN5kXRfr/WUOXsNVP6zPFbnX5PKGunxPPuyR04sL\nAAAAAACA/+L0b1wAAAAAAAD8F6cXF5+fn/r6+tLxeFSz2VS1WtX7+7s+Pj60Xq//OAf4JOv98CWH\n1/Clb9bn2Xr9XMm6LvTXb9b7S87WHll/P+uoi98s77nTi4vlcqlWq6Vyuaz5fK79fq84jhXHsQ6H\nwx/nAJ9kvR++5PAavvTN+jxbr58rWdeF/vrNen/J2doj6+9nHXXxm+U9d3pxsV6vVa/XNZlM1Gg0\nFIahZrOZRqORTqfTH+cAn2S9H77k8Bq+9M36PFuvnytZ14X++s16f8nZ2iPr72cddfGb6T1PHep0\nOuntdvvlsyRJ0u12+1c5wCdZ74cvObyGL32zPs/W6+dK1nWhv36z3l9ytvbI+vtZR138ZnnPnf7i\nolQqqd/va7fbqd1uq1KpaDqd6nw+/1UO8EnW++FLDq/hS9+sz7P1+rmSdV3or9+s95ecrT2y/n7W\nURe/Wd5zpxcXxWJRb29vGo/H6na72mw2iqJISZJoMBjoer3+UQ7wSdb74UsOr+FL36zPs/X6uZJ1\nXeiv36z3l5ytPbL+ftZRF79Z3vOfzqoiKYoixXGsXq+n4XCoWq2mMAy1Wq20WCwUBMEf5QCfZL0f\nvuTwGr70zfo8W6+fK1nXhf76zXp/ydnaI+vvZx118ZvlPf+RpmnqqjCXy0VBEKhQKGSSA3yS9X74\nksNr+NI36/NsvX6uZF0X+us36/0l95rco6y/n3XUxW+W99zpxQUAAAAAAMB/cfo3LgAAAAAAAP4L\nFxcAkCOfn5/6+vrS8XhUs9lUtVrV+/u7Pj4+tF6vyf2PnKs64z5f5gW2WJ8rcrZyeUP9/GZ5j7i4\n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\nW/8AAAAASUVORK5CYII=\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {
"tags": []
},
"execution_count": 13
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "wK2syr0cG764",
"colab_type": "code",
"colab": {}
},
"source": [
"def moji2mojiImg(flame_str, nakami_str, soto_str, yoko_len, tate_len, moji_size, final_moji_size):\n",
" # 引数サンプル\n",
" # flame_str = \"般若\"\n",
" # nakami_str = \"般若波羅蜜多\"\n",
" # yoko_len = 2\n",
" # tate_len = 1\n",
" # moji_size = 30\n",
" # 最後に表示する際のフォントサイズ\n",
" # final_moji_size = 12\n",
"\n",
" img = str2img(flame_str, yoko_len, tate_len, moji_size)\n",
" graylist = img2graylist(img)\n",
" wblist = graylist2wblist(graylist)\n",
" wbcharlist = wblist2wbcharlist(wblist, nakami_str, soto_str)\n",
" # print2Dcharlist(wbcharlist)\n",
"\n",
" # 作った配列を、str2imgで画像化する\n",
" # 作ったリストを全てつなげて単純文字列にする\n",
" # (※最初に作成したstr2imgに入れるための変換)\n",
" all_str = \"\"\n",
" for tmp_list in wbcharlist:\n",
" for char in tmp_list:\n",
" all_str += char\n",
"\n",
" \n",
" #今回のファイルのサイズは縦横は、moji_size倍されている点に注意\n",
" img = str2img(all_str, yoko_len*moji_size, tate_len*moji_size, final_moji_size)\n",
"\n",
" return img"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "a_0OgUUeBHyt",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Qa5h3uE6HBIB",
"colab_type": "code",
"outputId": "3f4cd4bd-80bc-4af5-d479-75703a6d3940",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 368
}
},
"source": [
"img = moji2mojiImg(\"ほ\",\"穂乃果\",\" \",2,1,20,15)\n",
"\n",
"#正しく表示&ダウンロード出来るように、一度セーブする\n",
"img.save(\"ebikani.png\")\n",
"\n",
"#colaboratoryで表示\n",
"import IPython\n",
"IPython.display.Image(\"ebikani.png\")"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"幅 : 40\n",
"高さ: 20\n",
"灰色平均値: 226.93\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAEsCAYAAAAfPc2WAABJiElEQVR4nO3dX0wU6Z4//nd1g5Xu\n3dXtaf025rg5jUJiiH+SXUi+s5CNOzSJpHFm8HAhczj5JjOs68W6CfuNF3NhS8gGwybjYgaiET2J\nEYMaNQZPw8UOf5LpVkOOxGRX1pnMl+mLXsqB9fRMr0jTzenP78JYv6mhexToprrk/Uo64amqp+rz\nPDyxPvWU9KOIiICIiIiIcsZmdgBEREREbxsmWEREREQ5xgSLiIiIKMeYYBERERHlGBMsIiIiohxj\ngkVERESUY0ywiIiIiHKMCRYRERFRjjHBIiIiIsoxJlhEREREOcYEi4iIiCjHmGARERER5RgTLCIi\nIqIcY4JFRERElGNMsIiIiIhyjAkWERERUY4xwSIiIiLKMSZYRERERDnGBIuIiIgox5hgEREREeUY\nEywiIiKiHGOCRURERJRjTLCIiIiIcowJFhEREVGOMcEiIiIiyjEmWEREREQ5xgSLiIiIKMeYYBER\nERHlGBMsIiIiohxjgkVERESUY0ywiIiIiHLMkglWMplEOBzG9evX0dnZiZaWFgwNDRmO8fl8GB8f\nNyfAPDl//jwURXnt5+LFi3qdjdpXa2HFfl5NzERElD+WTLDsdjtu3LiB6elpdHR04MKFC9i8ebPh\nRjIyMoK//du/1cs7duzQ60cikdfeiNxuNzRNM7GVmf3617+GiEBEMDc3hz/5kz/RyyKCX/3qV4bj\n19pXVpSL3+9697MZMRMRUf5YNsE6e/Ys2traAABOpxM1NTWGm0ltbS3Gxsb0cjQa1et7vV7DsW63\nGw8ePNDL9+7dAwD8r//1v0xpXy6tta+syIzfL8ckERH9mCUTrGwaGhqyzhZcu3Yta714PI4tW7bo\n5du3b+PQoUOw2+3rEfaKXL16VW/Ttm3bMD8/b5jluHXr1hudZ7V9ZUWr+f2a3c9mxkxERGtnyQQr\nFApBURQ4HA4sLi5CURSUlZUBAP7t3/4NIgK/34/79+9DRPB//s//yXquWCyGVCqlzwyk02ncvHkT\nR44cWZe2rNRKXwPlsq+saLW/XzP7eb1iJiKiPBIL6+vrk+LiYllYWBAREb/fLwAyfgYGBjKeY3Jy\nUpxOp16+e/fusronT55cl/a8zrlz57K278efvr6+ZXVz0VdWtJrfr9n9vN4xExFR7llyBuuVgYEB\nLC0toaGhAfF4HMDKZwseP36M3bt36+WJiQl0dXXpT/2NjY1wuVx5b8ubOHbsmGFGQtM0qKpq2CYi\naG1tXVY3F31lRav5/Zrdz+sdMxER5V6R2QGsVigUwq5duxAOh1FfX4/m5mYoioK6ujr9mGAwqP98\n8ODBjOcZHR1FVVWVXu7o6DDsn5ubw9atW3Mc/cpEIhGUlpZm3a8oSsbtmqahpKQkZ31lRSv5/RZK\nP69nzERElCd5nyPLg1QqJfv375eJiQlRVVXS6bRMTk7q+5PJpLS1tcni4qKIiESj0YznSSQS4na7\n5c6dO1mvVVpaKiMjI7ltQA6cOXNG9uzZI8XFxVJTUyOdnZ0Zj8tVX1lRLn6/693P6xkzERHljyVf\nEQ4PD2Pfvn3Yu3cvgJdP6SUlJaisrER3dzeOHz8Om82GEydO4NmzZ6isrMTDhw+Xnae3txcOhwN+\nvz/jdVKpFKLRKLxebz6bsyIigkAggJ6eHvT398Nms2FwcBCDg4M4fPgwZmdnDcfnqq+saC2/X7P6\neT1jJiKi/LFkguXz+dDV1WXY1t/fj4qKCr3c3t6O6upqDA8P4+jRo2hqakIsFtP3P3nyBO3t7Th9\n+jSKijK/KZ2amoKqqgWTYE1NTeHAgQMIBoMIhULweDwAAJfLhfHxcXg8HpSXl+PUqVN4+vQpgNz0\nlRWt5fdrVj+vd8xERJRHJs+grcnCwoKoqirJZFI8Ho+MjY1Jd3e3fPjhh7KwsCDPnz8Xn88nV65c\nkdbWVvniiy9EROSrr76SnTt3SktLi+F8s7Oz0tPTI9PT0/LDDz/IJ598Iu+//74ZTTOYn5+X5uZm\ncTqd8umnn+qvmTRNE1VVDcd++eWXUlNTIy6XS2KxmL59tX1lRav9/ZrZz2bGTEREufdWJFgiIuFw\nWEREQqGQeDwesdlssmnTJqmoqBBN0wz1AoGANDY2SiKRMGxfWlqSpqYm8Xq9oqqqlJWVyaNHj9an\nMa9x6dIliUQihm2ZbqKvzMzMGMqr7SsrWsvv16x+NjNmIiLKPUVExOxZNDOk02nYbJZ8Q0pvwIq/\nXyvGTEREmW3YBIuIiIgoXyz5uJxMJhEOh3H9+nV0dnaipaUFQ0NDhmN8Ph/Gx8fNCTBPzp8/b1hb\nLtvn4sWLeh2z+4oxF27MRESUP5ZMsOx2O27cuIHp6Wl0dHTgwoUL2Lx5s+FG8tOFdXfs2KHXj0Qi\nr70Rud1uaJpmYiszW+l6c4XQV4y5MGMmIqL8sWyCdfbsWbS1tQEAnE4nampqDDeT2tpajI2N6eVo\nNKrX93q9hmPdbjcePHigl+/duwcA+mK7VmbFvmLMb/eYJCLaCCyZYGXT0NCQdbbg2rVrWevF43Fs\n2bJFL9++fRuHDh2C3W5fj7BX5OrVq3qbtm3bhvn5ecMsx61bt97oPOvZV4zZWjETEdHaWTLBCoVC\nUBQFDocDi4uLUBQFZWVlAFa+sG4sFkMqldJnBtLpNG7evIkjR46sS1tWaqWvgQqhrxhzYcZMRER5\n9Gbf5lCY+vr6pLi4WBYWFkRExO/3C4CMn4GBgYznmJycFKfTqZfv3r27rO7JkyfXpT2vc+7cuazt\n+/Gnr69vWV2z+ooxF37MRESUe5acwXplYGAAS0tLaGhoQDweB7Dy2YLHjx9j9+7denliYgJdXV36\nU39jYyNcLlfe2/Imjh07ZpiR0DQNqqoatokIWltbl9U1q68Yc+HHTEREuZd5wTMLCIVC2LVrF8Lh\nMOrr69Hc3AxFUVBXV6cfEwwG9Z8PHjyY8Tyjo6OoqqrSyx0dHYb9c3Nz2Lp1a46jX5lIJILS0tKs\n+xVFybhd0zSUlJSY0leM2RoxExFRnuRnYiy/UqmU7N+/XyYmJkRVVUmn0zI5OanvTyaT0tbWpq/L\nFo1GM54nkUiI2+2WO3fuZL1WaWmpjIyM5LYBOXDmzBnZs2ePFBcXS01NjXR2dmY8rpD6ijEXVsxE\nRJQ/lnxFODw8jH379mHv3r0AXj6ll5SUoLKyEt3d3Th+/DhsNhtOnDiBZ8+eobKyEg8fPlx2nt7e\nXjgcDvj9/ozXSaVSiEaj8Hq9+WzOiogIAoEAenp60N/fD5vNhsHBQQwODuLw4cOYnZ01HF8IfcWY\nCzNmIiLKH0smWD6fD11dXYZt/f39qKio0Mvt7e2orq7G8PAwjh49iqamJsRiMX3/kydP0N7ejtOn\nT6OoKPOb0qmpKaiqWjAJ1tTUFA4cOIBgMIhQKASPxwMAcLlcGB8fh8fjQXl5OU6dOoWnT58CML+v\nGHPhxkxERHlk7gTa2iwsLIiqqpJMJsXj8cjY2Jh0d3fLhx9+KAsLC/L8+XPx+Xxy5coVaW1tlS++\n+EJERL766ivZuXOntLS0GM43OzsrPT09Mj09LT/88IN88skn8v7775vRNIP5+Xlpbm4Wp9Mpn376\nqf6aSdM0UVXVcOyXX34pNTU14nK5JBaL6dvXu68Ys3ViJiKi3HsrEiwRkXA4LCIioVBIPB6P2Gw2\n2bRpk1RUVIimaYZ6gUBAGhsbJZFIGLYvLS1JU1OTeL1eUVVVysrK5NGjR+vTmNe4dOmSRCIRw7ZM\nN9FXZmZmDGUz+ooxWyNmIiLKPUVExOxZNDOk02nYbJZ8Q7rurNhXjJmIiMy0YRMsIiIionyx5ONy\nMplEOBzG9evX0dnZiZaWFgwNDRmO8fl8GB8fNydAMt358+cN6/Bl+1y8eFGvw3FFRES5YskvGrXb\n7bhx4wZKSkrQ0dGBP/zhD5icnFz2pYojIyP6z7/4xS8QjUYBvP7LGQHgnXfewX/8x39g+/btuW8A\nrYtf//rX6O/vBwD893//N7xeL54/f67vb2pqMhy/1nFFRET0iiVnsOx2O86ePYu2tjYAgNPpRE1N\njWFJkNraWoyNjenlH98EvV6v4Vi3240HDx7o5Xv37gGAvtgubQxrHVdERESvWDLByqahoUF/9TMy\nMoK//du/1cvXrl3LWi8ej2PLli16+fbt2zh06BDsdvt6hE15cvXqVf33v23bNszPzxteD966deuN\nzrPacUVERBuXJROsUCgERVHgcDiwuLgIRVFQVlYGYOUL68ZiMaRSKX22Kp1O4+bNmzhy5Mi6tIXy\n59e//rU+0zQ3N4c/+ZM/McxG/epXvzIcn8txRUREG5slE6xXr236+vpQXFyMhYUFfPPNNwCAuro6\nKIqCYDCId999F4qi4PLly1nPFYlE4HQ68c477wAAhoaGEIlEUF9fr89SBAKBdWkX5dZKZ7ByOa6I\niGhjs2SC9crAwACWlpbQ0NCAeDwOYOUzDY8fP8bu3bv18sTEBLq6uvRZjsbGRrhcrry3hXLr2LFj\nhtkqTdOgqqphm4igtbV1Wd1cjCsiItrYLPlXhMDL1zm7du1COBxGfX09mpuboSgK6urq9GOCwaD+\n88GDBzOeZ3R0FFVVVXq5o6PDsH9ubg5bt27NcfSUL6/7C9Gf/kXgK5qmoaSkJGfjioiINrg8fUN8\nXqVSKdm/f79MTEyIqqqSTqdlcnJS359MJqWtrU1fly0ajWY8TyKRELfbLXfu3Ml6rdLSUhkZGclt\nA2hdnTlzRvbs2SPFxcVSU1MjnZ2dGY/L1bgiIiKy5CvC4eFh7Nu3D3v37gXwclaipKQElZWV6O7u\nxvHjx2Gz2XDixAk8e/YMlZWVePjw4bLz9Pb2wuFwwO/3Z7xOKpVCNBqF1+vNZ3MoT0QEgUAAPT09\n6O/vh81mw+DgIAYHB3H48GHMzs4ajs/VuCIiIrJkguXz+dDV1WXY1t/fj4qKCr3c3t6O6upqDA8P\n4+jRo2hqakIsFtP3P3nyBO3t7Th9+jSKijK/KZ2amoKqqkywLGhqagoHDhxAMBhEKBSCx+MBALhc\nLoyPj8Pj8aC8vBynTp3C06dPAeRmXBEREQEWTbAcDofhG9ZTqRQ+++wzfPzxx1AUBd999x2Kiorg\n9/tx+fJllJeXw+fzYXJyEgDw9ddfw+/344MPPkBLS4t+nrm5OfT29uLbb79FPB7H559/jvfee48L\n8FrIixcv8NFHH6GqqgrV1dW4f//+sm/jV1UV586dQzAYxOjoKCoqKvD999+veVwRERG9YunFnhOJ\nBP78z/8ciUQC9+7dw1//9V8jHA7jV7/6Febm5lBUVISysjKMjIygpKREr3fq1Cn8+7//OwYGBqCq\nqr79j3/8I44cOYLf//730DQNf/EXf4GbN29i//79ZjSPVum3v/0tamtr8ctf/lLf9vTpU3i9XiQS\niWXHa5pmSKxWO66IiIhesXSCtRbpdJozU0RERJQXGzbBIiIiIsqXDTuFc/78ecO3emf7XLx40exQ\naQWSySTC4TCuX7+Ozs5OtLS0YGhoyHCMz+fD+Pi4OQESEdGGYNkEKxKJvDY5crvd0DQt6zlWulYd\nFT673Y4bN25genoaHR0duHDhAjZv3mwYFz9dsHnHjh16/VyMKyIiIssmWF6v15AMud1uPHjwQC/f\nu3cPAPRFnGljsNvtOHv2LNra2gAATqdTX2Pw1ae2thZjY2N6ORqN6vU5roiIKBcsm2D9VDwex5Yt\nW/Ty7du3cejQIdjt9qx1VroYMFlXQ0ND1hmsa9euZa23mnFFRET0ViRYsVgMqVRKn1VIp9O4efMm\njhw58rP1+Irw7RMKhaAoChwOBxYXF6EoCsrKygCsfMHm1Y4rIiKityLBikQicDqdeOeddwAAQ0ND\niEQiqK+v12cpAoHAsnqcwXr7vHod2NfXh+LiYiwsLOCbb74BANTV1UFRFASDQbz77rtQFAWXL1/O\neq7VjisiIqK3IsF6/Pgxdu/erZcnJibQ1dWlz0Q1NjbC5XIZ6hw7dswwW6VpGlRVNWwTEbS2tq53\ncygHBgYGsLS0hIaGBsTjcQArn8FazbgiIiICgMyL8FnM6Ogoqqqq9HJHR4dh/9zcHLZu3Qrg5axE\naWlp1nMpipJxu6Zp/NZuiwiFQti1axfC4TDq6+vR3NwMRVFQV1enHxMMBvWfDx48mPE8KxlXRERE\nP2b5GazFxUUMDg6ivr4+6zH/9V//hV/84hcAlv+VmIjgzJkz2LNnD4qLi1FTU4POzs5lxzC5soal\npSX8wz/8A/7u7/4OAPBP//RP+Od//mf87ne/g4ggmUyira0Ni4uL+l8QZvo/VSsdV0RERD9m+QSr\nt7cXDocDfr8/4/5UKoVoNAqv17tsn4ggEAigp6cH/f39sNlsGBwcxODgIA4fPozZ2dk8R0+5Njw8\njH379mHv3r0AXs5IlpSUoLKyEt3d3Th+/DhsNhtOnDiBZ8+eobKyEg8fPlx2nrWMKyIiIksnWE+e\nPEF7eztOnz6NoqLMbzunpqagquqyG+HU1BQOHDiAYDCIUCgEj8cDAHC5XBgfH4fH40F5eTlOnTqF\np0+f5rsplCM+nw9dXV2Gbf39/aioqNDL7e3tqK6uxvDwMI4ePYqmpibEYjF9/1rGFREREWDhBOvr\nr7+G3+/HBx98gJaWFn373Nwcent78e233yIej+Pzzz/He++9py/s/OLFC3z00UeoqqpCdXU17t+/\nj+3btxvOraoqzp07h2AwiNHRUVRUVOD7779fz+bRKjkcDsPvM5VK4bPPPsPHH38MRVHw3Xffoaio\nCH6/H5cvX0Z5eTl8Ph8mJycBrH5cERER/ZhlF3s+deoU/v3f/x0DAwNQVVXf/sc//hFHjhzB73//\ne2iahr/4i7/AzZs3sX//fv2Y3/72t6itrcUvf/lLfdvTp0/h9XqRSCSWXUvTtGVJGBW2RCKBP//z\nP0cikcC9e/fw13/91wiHw/jVr36Fubk5FBUVoaysDCMjI4b/X7eWcUVERPSKZRMs4OUXP3IGgXKN\n44qIiNbK0gkWERERUSEy/TH9/Pnzhm9Pz/a5ePGiXieZTCIcDuP69evo7OxES0sLhoaGDOf1+XwY\nHx9f59bk12r6aqMxe2xYcTxzXBER5Z7pCRaw8jUB7XY7bty4genpaXR0dODChQvYvHmz4Wbw0wV9\nd+zYodePRCKvvZm43W5omrbeXfFaXD/x5xXC2LDieOa4IiLKrYJIsFbKbrfj7NmzaGtrAwA4nU59\nDbpXn9raWoyNjenlaDSq1//pl4263W48ePBAL9+7dw8A9EV+yTqsODasGDMREf28gkiwcrXockND\nQ9Yn/mvXrmWtF4/HsWXLFr18+/ZtHDp0CHa7fc1tyzUuUL066zk2rDieOa6IiHKrIBKslb6eCIVC\nUBQFDocDi4uLUBQFZWVlAFa+oG8sFkMqldKf7tPpNG7evJlx+ZRCwFc5P68QxoYVxzPHFRFRjonJ\nzp07JwBe++nr61tWt6+vT4qLi2VhYUFERPx+f9b6AwMDGa8/OTkpTqdTL9+9e3dZ3ZMnT+an8Su0\nlr7aaMwaG1YczxxXRES5Z/oM1rFjxwxPypqmQVXVZYstt7a2Lqs7MDCApaUlNDQ0IB6PA1j5E//j\nx4+xe/duvTwxMYGuri79uo2NjXC5XLlv+Cqspa82GrPGhhXHM8cVEVHuZV5obR1EIhGUlpZm3a8o\nSsbtmqahpKQEoVAIu3btQjgcRn19PZqbm6EoCurq6vRjg8Gg/vPBgwcznm90dBRVVVV6uaOjw7B/\nbm4OW7dufaM25cta+2qjMWNsWHE8c1wREeVR/ibHVu7MmTOyZ88eKS4ulpqaGuns7Mx4XCqVkv37\n98vExISoqirpdFomJyf1/clkUtra2mRxcVFERKLRaMbzJBIJcbvdcufOnawxlZaWysjIyBpalR9v\n2lcbTSGNDSuOZ44rIqLcMP0VIQCICAKBAHp6etDf3w+bzYbBwUEMDg7i8OHDmJ2dNRw/PDyMffv2\nYe/evQBePmmXlJSgsrIS3d3dOH78OGw2G06cOIFnz56hsrISDx8+XHbd3t5eOBwO+P3+jHGlUilE\no1F4vd6ct3m1VtpXG00hjA0rjmeOKyKi3DI9wZqamsKBAwcQDAYRCoXg8XgAAC6XC+Pj4/B4PCgv\nL8epU6fw9OlTAC+/1bqrq8twnv7+flRUVOjl9vZ2VFdXY3h4GEePHkVTUxNisZi+/8mTJ2hvb8fp\n06dRVJT5TenU1BRUVS2YBGs1fbXRmD02rDieOa6IiPLArKmz+fl5aW5uFqfTKZ9++qn++kPTNFFV\n1XDsl19+KTU1NeJyuSQWi+nbFxYWRFVVSSaT4vF4ZGxsTLq7u+XDDz+UhYUFef78ufh8Prly5Yq0\ntrbKF198ISIiX331lezcuVNaWloM15mdnZWenh6Znp6WH374QT755BN5//3389sRbyAXfbXRrPfY\nsOJ45rgiIsofU/8P1qVLlyQSiRi2ZfrH/ZWZmRlD+dUNSUQkHA6LiEgoFBKPxyM2m002bdokFRUV\nommaoV4gEJDGxkZJJBKG7UtLS9LU1CRer1dUVZWysjJ59OjRmtqYK2vtq43GjLFhxfHMcUVElB+K\niIjZs2hmSKfTsNlMf0NKBciKY8OKMRMRvc02bIJFRERElC+mPfImk0mEw2Fcv34dnZ2daGlpwdDQ\nkOEYn8+H8fHxvFz//PnzhrXWsn0uXryYl+uvhBX7ijFvjJiJiCgz0xIsu92OGzduYHp6Gh0dHbhw\n4QI2b95suJH8dIHbHTt26PUjkchrb0RutxuapmWNwSrrr1mxrxjzxomZiIiWMzXBOnv2LNra2gAA\nTqcTNTU1hptJbW0txsbG9HI0GtXre71ew7FutxsPHjzQy/fu3QMAfdFbK7NiXzFmxkxEtJEV3P+K\nbWhoyPrkfe3ataz14vE4tmzZopdv376NQ4cOwW63Z61z9epV/dzbtm3D/Py84cn91q1bOW1brlmx\nrxjz2xczEREtZ1qCFQqFoCgKHA4HFhcXoSgKysrKAKx8gdtYLIZUKqU/ZafTady8eRNHjhz52Ris\n8orQin3FmDdOzERElEH2b3BYH319fVJcXCwLCwsiIuL3+wVAxs/AwEDGc0xOTorT6dTLd+/eXVb3\n5MmThjrnzp3Lep0ff/r6+vLX+BWyYl8x5rc7ZiIiysz0V4QDAwNYWlpCQ0MD4vE4gJU/eT9+/Bi7\nd+/WyxMTE+jq6tKf+hsbG+FyuQx1jh07ZpgZ0DQNqqoatokIWltb89PwVbBiXzHmtztmIiLKLPOi\nZeskFAph165dCIfDqK+vR3NzMxRFQV1dnX5MMBjUfz548GDG84yOjqKqqkovd3R0GPbPzc1h69at\nAF7+1VRpaWnWmBRFybhd0zSUlJS8vlF5YsW+Ysxvb8xERPQauZ8UezOpVEr2798vExMToqqqpNNp\nmZyc1Pcnk0lpa2vT10eLRqMZz5NIJMTtdsudO3eyXqu0tFRGRkay7j9z5ozs2bNHiouLpaamRjo7\nO1fZqvywYl8x5o0XMxER/f9Me0U4PDyMffv2Ye/evQBePqWXlJSgsrIS3d3dOH78OGw2G06cOIFn\nz56hsrISDx8+XHae3t5eOBwO+P3+jNdJpVKIRqPwer3L9okIAoEAenp60N/fD5vNhsHBQQwODuLw\n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\nfdcAAAAASUVORK5CYII=\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {
"tags": []
},
"execution_count": 12
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment