ツタンラーメンの忘備録

プログラミングや精神疾患、ラーメンについて書いていきます。たぶん。

Python LINE bot imagemap 画像作成 自動化

以前の記事でLINE bot + flask + imagemapをやりました.画像準備するのがクソだるかったので,自動的に画像を作成するやつ作りました.

import glob

files = glob.glob('C:\work\python_data\\resizeImg\data\*')

import cv2
import numpy as np

import sys
import os

sizes = [240, 300, 460, 700, 1040] #imagemapで必要な横幅

for f in files:
    img = cv2.imread(f, cv2.IMREAD_COLOR)
    imgH, imgW = img.shape[:2]
    name,ext = os.path.splitext( os.path.basename(f) )
    index = int(name[1])
    for s in sizes:
        cv2.imwrite("C:\work\python_data\\resizeImg\\3" + str(index) + "\\" + str(s) + ".jpg", cv2.resize(img, (s, int(s*imgH/imgW)))) #拡張子がないとエラーした
        os.rename("C:\work\python_data\\resizeImg\\3" + str(index) + "\\" + str(s) + ".jpg", "C:\work\python_data\\resizeImg\\3" + str(index) + "\\" + str(s))

大きさを変えたい画像(縦長を想定)をX0.jpg,X1.jpgみたいに保存する.(本来はint(name[-1]がいい気がする))
フォルダは30,31みたいなのを作って(これも自動化できるけどそこまでコード書くのはだるかったからやらなかった).