Himanshi's picture
Create cartoon.py
e9950ac
import os
import argparse
import cv2
from utils import read_img, edge_detection, color_quantisation
parser = argparse.ArgumentParser(description='Cartoonify Face Images')
parser.add_argument('--input_path', default='./temp/image.jpg', type=str, help='Directory of input images or path of single image')
parser.add_argument('--result_dir', default='./temp/', type=str, help='Directory for restored results')
args = parser.parse_args()
out_dir = args.result_dir
os.makedirs(out_dir, exist_ok=True)
img = read_img(args.input_path)
line_wdt = 9
blur_value=7
totalcolours=9
edgeImg = edge_detection(img, line_wdt,blur_value)
img = color_quantisation(img, totalcolours)
blurred = cv2.bilateralFilter(img, d=7,sigmaColor=200,sigmaSpace=200)
cartoon = cv2.bitwise_and(blurred,blurred,mask=edgeImg)
# cv2.imwrite('cartoon.jpg', cartoon)
out_path = os.path.join(out_dir, os.path.split(args.input_path)[-1])
cv2.imwrite(out_path,cv2.cvtColor(cartoon, cv2.COLOR_RGB2BGR))