diff options
Diffstat (limited to 'notebooks/utils/imx.py')
| -rw-r--r-- | notebooks/utils/imx.py | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/notebooks/utils/imx.py b/notebooks/utils/imx.py deleted file mode 100644 index 0dbdcf7e..00000000 --- a/notebooks/utils/imx.py +++ /dev/null @@ -1,82 +0,0 @@ -import os -from os.path import join -import cv2 - -from PIL import Image, ImageDraw -import matplotlib.pyplot as plt - - -def ensure_pil(im): - """Ensure image is Pillow format""" - try: - im.verify() - return im - except: - return Image.fromarray(im.astype('uint8'), 'RGB') - -def ensure_np(im): - """Ensure image is numpy array""" - if type(im) == np.ndarray: - return im - return np.asarray(im, np.uint8) - -def ensure_dir(d): - """Create directories""" - if not os.path.exists(d): - os.makedirs(d) - -def filter_pixellate(src,num_cells): - """Downsample, then upsample image for pixellation""" - w,h = src.size - dst = src.resize((num_cells,num_cells), Image.NEAREST) - dst = dst.resize((w,h), Image.NEAREST) - return dst - -# Plot images inline using Matplotlib -def pltimg(im,title=None,mode='rgb',figsize=(8,12),dpi=160,output=None): - plt.figure(figsize=figsize) - plt.xticks([]),plt.yticks([]) - if title is not None: - plt.title(title) - if mode.lower() == 'bgr': - im = cv2.cvtColor(im,cv2.COLOR_BGR2RGB) - f = plt.gcf() - plt.imshow(im) - plt.show() - plt.draw() - if output is not None: - bbox_inches='tight' - ext=osp.splitext(output)[1].replace('.','') - f.savefig(output,dpi=dpi,format=ext) - print('Image saved to: {}'.format(output)) - - -# Define a function to detect faces using OpenCV's haarcascades -def detect_faces(classifier,src,scale_factor=1.1,overlaps=3, - min_size=70, max_size=700, - flags=0): - - min_size = (min_size, min_size) # minimum face size - max_size = (max_size, max_size) # maximum face size - - # Convert to grayscale - src_gray = cv2.cvtColor(src,cv2.COLOR_BGR2GRAY) - - # Run detector - matches = classifier.detectMultiScale(src_gray, - scale_factor, - overlaps, - flags, - min_size, - max_size) - # By default, this returns x,y,w,w - # Modify to return x1,y1,x2,y2 - matches = [ (r[0],r[1],r[0]+r[2],r[1]+r[3]) for r in matches] - - return matches - -def detect_faces_dlib(im,pyramids=0): - rects = detector(im, pyramids) - faces = [ (r.left(),r.top(),r.right(),r.bottom()) for r in rects] #x1,y1,x2,y2 - return faces -
\ No newline at end of file |
