はじめに
鬼が怖いので、スクリプトで撃退します。
やったこと
怖そうな鬼(下の画像)を無力化していきます。
(出典: いらすとや「 https://www.irasutoya.com/2020/01/blog-post_891.html 」)
怖そうな鬼ですね。
大津の二極化を使います。この時点で鬼は弱そうです。
Zhang-Suenのアルゴリズムで細線化します。1行で書けるのが嬉しいです。
たぶんこれなら襲われても大丈夫そう。
以下が使用したコードです。
oni-taizi.rb
from skimage.morphology import skeletonize
import cv2
import numpy as np
# 読み込み
img = cv2.imread('setsubun_oni_kowai.png')
# グレースケールに変換
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
# 大津の二極化
ret, th = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)
# 画像を0,1に変換
th[th>0]=1
# 細線化
skeleton = skeletonize(th)
# 画像を0,255に変換
output = np.where(skeleton, 0, 255)
# 保存
cv2.imwrite("oni.png", output)
おわりに
退治できたかはあくまでも個人の主観によります。
ご覧いただきありがとうございました。