Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Aniket025
GitHub Repository: Aniket025/Medical-Prescription-OCR
Path: blob/master/Model-3/ocr/imgtransform.py
426 views
1
# -*- coding: utf-8 -*-
2
"""
3
Functions for transforming and preprocessing images for training
4
"""
5
import numpy as np
6
import pandas as pd
7
import cv2
8
from scipy.ndimage.interpolation import map_coordinates
9
10
def coordinates_remap(image, factor_alpha, factor_sigma):
11
""" Transforming image using remaping coordinates """
12
alpha = image.shape[1] * factor_alpha
13
sigma = image.shape[1] * factor_sigma
14
shape = image.shape
15
16
blur_size = int(4*sigma) | 1
17
dx = alpha * cv2.GaussianBlur((np.random.rand(*shape) * 2 - 1),
18
ksize=(blur_size, blur_size),
19
sigmaX=sigma)
20
dy = alpha * cv2.GaussianBlur((np.random.rand(*shape) * 2 - 1),
21
ksize=(blur_size, blur_size),
22
sigmaX=sigma)
23
24
x, y = np.meshgrid(np.arange(shape[1]), np.arange(shape[0]))
25
indices = np.reshape(y+dy, (-1, 1)), np.reshape(x+dx, (-1, 1))
26
27
# TODO use cv2.remap(image, dx, dy, interpolation=cv2.INTER_LINEAR)
28
return np.array(map_coordinates(image, indices, order=1, mode='constant').reshape(shape))
29