-
Notifications
You must be signed in to change notification settings - Fork 0
/
pre-process-images.py
55 lines (39 loc) · 1.24 KB
/
pre-process-images.py
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed May 13 13:15:23 2020
@author: rizvi
"""
import os
import cv2
import numpy as np
inputDir = "path/to/image/directory/"
outputDir = "path/to/output/directory/"
def dilate(image_name):
img = cv2.imread(inputDir+image_name,0)
img = (255-img)
k1 = np.ones((1,5),np.uint8)
dst = cv2.dilate(img,k1,iterations = 5)
return dst
#--------------------------------------------------------------------------
allFilenames = []
for (dirpath, dirnames, filenames) in os.walk(inputDir):
allFilenames.extend(filenames)
break
for currFile in allFilenames:
img_dilated = dilate(currFile)
img = cv2.imread(inputDir+currFile,0)
img = (255-img)
# Get binary image
_, img_bin = cv2.threshold(img, 40, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
img = (255-img)
# Estimate the distance transform
dist_transform = cv2.distanceTransform(img, cv2.DIST_L2, 3)
dist_transform = (255-dist_transform)
dist2 = np.zeros((img.shape[0], img.shape[1], 3))
# BGR
dist2[:,:,0] = dist_transform
dist2[:,:,2] = img_dilated
dist2[:,:,1] = img_bin
cv2.imwrite(outputDir+currFile,dist2)
print ("End reached...")