File size: 968 Bytes
e9950ac
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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))