Word에서 Shiki Nyan을 이치 노세 시키로 표현하십시오.
소개
Excel에서 사사키 노조미를 그리기 with python 및 이 동영상에 영향을 받습니다.
제목대로, 파이썬으로 그림을 문자로 표현한 word 파일을 생성합니다.
동영상의 문언을 그대로 사용하게 합니다.
「 이름은 몸을 나타낸다 」라는 말이 있습니다. 속담으로서 오늘까지 남아 있다는 것은 참으로 좋을 것입니다.
그러나 그 반대인 "몸은 이름을 나타낸다"라는 말은 어떻습니까? 아마도 이것은 사실이 아닙니다. 어떤 사건이 사실이라도 반대와 뒷면은 사실이 아니다.
하지만 그렇다면 매우 곤란합니다. 우리가 추천하고 있는 캐릭터이거나, 담당 아이돌을 보였을 때에 「헤ー, 귀엽네. 그리고, 누구야?」라고 말해지는 것과 「헤ー. 귀엽네. 담당하라”라고 말하는 것은 하늘과 땅의 차이가 있습니다.
그렇다면 "몸은 이름을 나타냅니다"는 것은 어떻게 구현할 수 있습니까? 이것은 간단합니다. 픽셀을 문자로 바꾸기만 하면 됩니다.
한층 더 「이치노세 시키」라고 하는 문자의 폰트 사이즈를 작게 늘어놓는 것으로, 농담을 표현할 수 있는 것을 알 수 있습니까?
즉, 적절하게 문자를 배치하고 거기에 색을 붙여 주면 "몸은 이름을 나타낼"수있는 것이 아닐까요.
그래서 "몸은 이름을 나타냅니다"를 파이썬으로 구현해 보았습니다.
실행 환경
python2.7
anaconda2(python2의 관계)
opencv3
word2013 이상(이전에는 미확인)
프로그램
파이썬에서 Word 파일을 처리하기 위해 python-docx을 사용합니다. 이를 위해 다음 명령으로 설치하십시오.
pip install python-docx
실제 소스 코드는 여기
shiki_word.py# -*- coding:utf-8 -*-
import cv2
import numpy as np
from numpy.random import *
# ワード扱うライブラリのインクルード
from docx import *
from docx.shared import Pt
from docx.shared import Length
from docx.shared import Inches
from docx.shared import RGBColor
# ピクセルの値から使う文字を判定して返す
def color2string(color_ave):
if 0 <= color_ave and color_ave < 256 * 1 / 4:
return u"瀬"
elif 256 * 1 / 4 <= color_ave and color_ave < 256 * 2 / 4:
# numppyの乱数
temp = rand()
if temp <= 0.5:
return u"志"
else:
return u"希"
elif 256 * 2 / 4 <= color_ave and color_ave < 256 * 3 / 4:
return u"ノ"
elif 256 * 3 / 4 <= color_ave and color_ave <= 256:
return u"一"
# 画像読み込み(画像サイズは320*400程度にしておく)
image = cv2.imread("shiki.jpg")
dst = cv2.imread("shiki.jpg", 0)
# ワードファイルの準備
document = Document()
# セクションのページ設定をする
sections = document.sections
section = sections[0]
section.right_margin = 1
section.left_margin = 1
section.header_distance = 1
section.footer_distance = 1
for x in range(image.shape[0]):
# 新しい行の設定
runs = document.add_paragraph("")
runs_format = runs.paragraph_format
runs_format.space_before, runs_format.space_after
runs_format.space_before = Pt(0)
runs_format.space_after = Pt(0)
print(x)
for y in range(image.shape[1]):
# どの文字を使うかを判定する
# 白黒画像からピクセルの値を取得する
color_ave = dst.item(x, y)
# 実際に文字を設置する
runs_font = runs.add_run(color2string(color_ave)).font
# フォントサイズの設定
runs_font.size = Pt(1)
# 色の設定
red = image.item(x, y, 2)
green = image.item(x, y, 1)
blue = image.item(x, y, 0)
runs_font.color.rgb = RGBColor(red, green, blue)
# ワードファイルの保存
document.save('shiki.docx')
「시」와 「희」의 진도가 거의 같았기 때문에 난수로 어느 쪽을 사용할까를 난수로 선택하도록 하고 있습니다.
결과
이 이미지에 Shiki Nyan
!
이런 워드파일이 되었습니다
확대판
요약
이제 추구하고 싶은 캐릭터나 담당 아이돌의 홍보를 할 때 이미지를 보내면 경계됩니다만, word 파일을 보내는 것으로 경계되지 않고 자연스러운 흐름으로 보여줄 수 있습니다!
보충
이미지 크기 정보
이번 화상 사이즈는 320×400 정도까지 화상 사이즈를 축소하고 있습니다. 이것은 화상 사이즈가 너무 크면 횡열의 문자를 1열로 표현할 수 없게 되기 때문에, 크게 무너져 버립니다.
다른 캐릭터로 할 때의 주의점은?
color2string의 반환 값을 변경하면 문제가 없다고 생각합니다. 위에서부터 순서대로 진한 문자로 하고 있습니다.
사이고에게
이치노세 시키를 잘 부탁드립니다! !
Reference
이 문제에 관하여(Word에서 Shiki Nyan을 이치 노세 시키로 표현하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/p_mouri/items/251f615e2e4d8ea46cb9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
python2.7
anaconda2(python2의 관계)
opencv3
word2013 이상(이전에는 미확인)
프로그램
파이썬에서 Word 파일을 처리하기 위해 python-docx을 사용합니다. 이를 위해 다음 명령으로 설치하십시오.
pip install python-docx
실제 소스 코드는 여기
shiki_word.py# -*- coding:utf-8 -*-
import cv2
import numpy as np
from numpy.random import *
# ワード扱うライブラリのインクルード
from docx import *
from docx.shared import Pt
from docx.shared import Length
from docx.shared import Inches
from docx.shared import RGBColor
# ピクセルの値から使う文字を判定して返す
def color2string(color_ave):
if 0 <= color_ave and color_ave < 256 * 1 / 4:
return u"瀬"
elif 256 * 1 / 4 <= color_ave and color_ave < 256 * 2 / 4:
# numppyの乱数
temp = rand()
if temp <= 0.5:
return u"志"
else:
return u"希"
elif 256 * 2 / 4 <= color_ave and color_ave < 256 * 3 / 4:
return u"ノ"
elif 256 * 3 / 4 <= color_ave and color_ave <= 256:
return u"一"
# 画像読み込み(画像サイズは320*400程度にしておく)
image = cv2.imread("shiki.jpg")
dst = cv2.imread("shiki.jpg", 0)
# ワードファイルの準備
document = Document()
# セクションのページ設定をする
sections = document.sections
section = sections[0]
section.right_margin = 1
section.left_margin = 1
section.header_distance = 1
section.footer_distance = 1
for x in range(image.shape[0]):
# 新しい行の設定
runs = document.add_paragraph("")
runs_format = runs.paragraph_format
runs_format.space_before, runs_format.space_after
runs_format.space_before = Pt(0)
runs_format.space_after = Pt(0)
print(x)
for y in range(image.shape[1]):
# どの文字を使うかを判定する
# 白黒画像からピクセルの値を取得する
color_ave = dst.item(x, y)
# 実際に文字を設置する
runs_font = runs.add_run(color2string(color_ave)).font
# フォントサイズの設定
runs_font.size = Pt(1)
# 色の設定
red = image.item(x, y, 2)
green = image.item(x, y, 1)
blue = image.item(x, y, 0)
runs_font.color.rgb = RGBColor(red, green, blue)
# ワードファイルの保存
document.save('shiki.docx')
「시」와 「희」의 진도가 거의 같았기 때문에 난수로 어느 쪽을 사용할까를 난수로 선택하도록 하고 있습니다.
결과
이 이미지에 Shiki Nyan
!
이런 워드파일이 되었습니다
확대판
요약
이제 추구하고 싶은 캐릭터나 담당 아이돌의 홍보를 할 때 이미지를 보내면 경계됩니다만, word 파일을 보내는 것으로 경계되지 않고 자연스러운 흐름으로 보여줄 수 있습니다!
보충
이미지 크기 정보
이번 화상 사이즈는 320×400 정도까지 화상 사이즈를 축소하고 있습니다. 이것은 화상 사이즈가 너무 크면 횡열의 문자를 1열로 표현할 수 없게 되기 때문에, 크게 무너져 버립니다.
다른 캐릭터로 할 때의 주의점은?
color2string의 반환 값을 변경하면 문제가 없다고 생각합니다. 위에서부터 순서대로 진한 문자로 하고 있습니다.
사이고에게
이치노세 시키를 잘 부탁드립니다! !
Reference
이 문제에 관하여(Word에서 Shiki Nyan을 이치 노세 시키로 표현하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/p_mouri/items/251f615e2e4d8ea46cb9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pip install python-docx
# -*- coding:utf-8 -*-
import cv2
import numpy as np
from numpy.random import *
# ワード扱うライブラリのインクルード
from docx import *
from docx.shared import Pt
from docx.shared import Length
from docx.shared import Inches
from docx.shared import RGBColor
# ピクセルの値から使う文字を判定して返す
def color2string(color_ave):
if 0 <= color_ave and color_ave < 256 * 1 / 4:
return u"瀬"
elif 256 * 1 / 4 <= color_ave and color_ave < 256 * 2 / 4:
# numppyの乱数
temp = rand()
if temp <= 0.5:
return u"志"
else:
return u"希"
elif 256 * 2 / 4 <= color_ave and color_ave < 256 * 3 / 4:
return u"ノ"
elif 256 * 3 / 4 <= color_ave and color_ave <= 256:
return u"一"
# 画像読み込み(画像サイズは320*400程度にしておく)
image = cv2.imread("shiki.jpg")
dst = cv2.imread("shiki.jpg", 0)
# ワードファイルの準備
document = Document()
# セクションのページ設定をする
sections = document.sections
section = sections[0]
section.right_margin = 1
section.left_margin = 1
section.header_distance = 1
section.footer_distance = 1
for x in range(image.shape[0]):
# 新しい行の設定
runs = document.add_paragraph("")
runs_format = runs.paragraph_format
runs_format.space_before, runs_format.space_after
runs_format.space_before = Pt(0)
runs_format.space_after = Pt(0)
print(x)
for y in range(image.shape[1]):
# どの文字を使うかを判定する
# 白黒画像からピクセルの値を取得する
color_ave = dst.item(x, y)
# 実際に文字を設置する
runs_font = runs.add_run(color2string(color_ave)).font
# フォントサイズの設定
runs_font.size = Pt(1)
# 色の設定
red = image.item(x, y, 2)
green = image.item(x, y, 1)
blue = image.item(x, y, 0)
runs_font.color.rgb = RGBColor(red, green, blue)
# ワードファイルの保存
document.save('shiki.docx')
이 이미지에 Shiki Nyan
!
이런 워드파일이 되었습니다
확대판
요약
이제 추구하고 싶은 캐릭터나 담당 아이돌의 홍보를 할 때 이미지를 보내면 경계됩니다만, word 파일을 보내는 것으로 경계되지 않고 자연스러운 흐름으로 보여줄 수 있습니다!
보충
이미지 크기 정보
이번 화상 사이즈는 320×400 정도까지 화상 사이즈를 축소하고 있습니다. 이것은 화상 사이즈가 너무 크면 횡열의 문자를 1열로 표현할 수 없게 되기 때문에, 크게 무너져 버립니다.
다른 캐릭터로 할 때의 주의점은?
color2string의 반환 값을 변경하면 문제가 없다고 생각합니다. 위에서부터 순서대로 진한 문자로 하고 있습니다.
사이고에게
이치노세 시키를 잘 부탁드립니다! !
Reference
이 문제에 관하여(Word에서 Shiki Nyan을 이치 노세 시키로 표현하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/p_mouri/items/251f615e2e4d8ea46cb9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이미지 크기 정보
이번 화상 사이즈는 320×400 정도까지 화상 사이즈를 축소하고 있습니다. 이것은 화상 사이즈가 너무 크면 횡열의 문자를 1열로 표현할 수 없게 되기 때문에, 크게 무너져 버립니다.
다른 캐릭터로 할 때의 주의점은?
color2string의 반환 값을 변경하면 문제가 없다고 생각합니다. 위에서부터 순서대로 진한 문자로 하고 있습니다.
사이고에게
이치노세 시키를 잘 부탁드립니다! !
Reference
이 문제에 관하여(Word에서 Shiki Nyan을 이치 노세 시키로 표현하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/p_mouri/items/251f615e2e4d8ea46cb9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이치노세 시키를 잘 부탁드립니다! !
Reference
이 문제에 관하여(Word에서 Shiki Nyan을 이치 노세 시키로 표현하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/p_mouri/items/251f615e2e4d8ea46cb9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)