summaryrefslogtreecommitdiff
path: root/notebooks/utils/imx.py
diff options
context:
space:
mode:
Diffstat (limited to 'notebooks/utils/imx.py')
-rw-r--r--notebooks/utils/imx.py82
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