import cv2 import numpy as np def read_img(input_path) : img = cv2.cvtColor(cv2.imread(input_path), cv2.COLOR_BGR2RGB) return img def edge_detection(img, line_wdt, blur): gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) grayBlur = cv2.medianBlur(gray,blur) edges = cv2.adaptiveThreshold(grayBlur, 255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,line_wdt,blur) return edges def color_quantisation(img, k): data = np.float32(img).reshape((-1,3)) criteria = (cv2.TermCriteria_EPS + cv2.TERM_CRITERIA_MAX_ITER,20,0.001) ret, label, center = cv2.kmeans(data,k,None,criteria,10,cv2.KMEANS_RANDOM_CENTERS) center = np.uint8(center) result = center[label.flatten()] result=result.reshape(img.shape) return result