2. 数猫のカットを用意する
pdfにした数猫にお気に入りのカットを入れるために、画像を用意しましょう。画像のファイル名をsample.jpgであるとします。以下のプログラムで白黒2値の画像ができます。縮小率scaleおよび閾値levelを適当に調整してください。
code: cut.py
from numpy import array, uint8
from PIL import Image
pil_im = Image.open("sample.jpg").convert("L")
x0, y0 = pil_im.size
print(x0, y0)
scale = 0.4
x1, y1 = x0 * scale, y0 * scale
pil_im.thumbnail((x1, y1))
im = array(pil_im)
i1, j1 = im.shape
print(i1, j1)
level = 170
for i in range(i1):
for j in range(j1):
else:
pil_im = Image.fromarray(uint8(im))
pil_im.save("cut.jpg")
https://gyazo.com/afe68d9a32f5c67aa103096a5b13471f
カラー画像を、RGBの各色ごとに2値化すると少しサイケなカット画像が得られます。このプログラムでは、RGBの各色ごとに平均の階調を持てめて閾値としています。
code: color.py(python)
from numpy import array, uint8, sum
from PIL import Image
pil_im = Image.open("sample.jpg")
x0, y0 = pil_im.size
print(x0, y0)
scale = 0.4
x1, y1 = x0 * scale, y0 * scale
pil_im.thumbnail((x1, y1))
im = array(pil_im)
i1, j1, k1 = im.shape
print(i1, j1, k1)
a = i1 * j1
print(L)
for i in range(i1):
for j in range(j1):
for k in range(k1):
else:
pil_im = Image.fromarray(uint8(im))
pil_im.save("cut2.png")
https://gyazo.com/9f0bb17e053b20995589018460d7ad3a