本記事では、画像ファイルをアニメっぽく変換する雛形コードを載せました。変換例を4つ、下記のように動画にしました。
www.youtube.com
■本プログラム
import os, glob
import cv2
import numpy as np
def main():
for file_path in file_path_list:
img = cv2.imread(file_path)
gray = cv2.cvtColor(img, cv2.COLOR_BGRA2GRAY)
dst = cv2.blur(gray, (3, 3))
dst = cv2.Canny(dst, 50, 150, apertureSize = 3)
dst = cv2.cvtColor(dst, cv2.COLOR_GRAY2BGR)
for scale in scale_list:
img2 = img.copy()
img3 = np.array(img2 / scale, dtype = np.uint8)
img4 = np.array(img3 * scale, dtype = np.uint8)
anime = cv2.subtract(img4, dst)
fine_name = os.path.splitext(os.path.basename(file_path))[0]
cv2.imwrite(fine_name + '_' + str(scale) + '.jpg', anime)
if __name__ == '__main__':
file_path_list = glob.glob('img/*.jpg')
scale_list = [10, 20, 30, 40, 50, 60, 70, 80]
main()
以上
<広告>
リンク