Path: blob/master/Model-3/ocr/imgtransform.py
426 views
# -*- coding: utf-8 -*-1"""2Functions for transforming and preprocessing images for training3"""4import numpy as np5import pandas as pd6import cv27from scipy.ndimage.interpolation import map_coordinates89def coordinates_remap(image, factor_alpha, factor_sigma):10""" Transforming image using remaping coordinates """11alpha = image.shape[1] * factor_alpha12sigma = image.shape[1] * factor_sigma13shape = image.shape1415blur_size = int(4*sigma) | 116dx = alpha * cv2.GaussianBlur((np.random.rand(*shape) * 2 - 1),17ksize=(blur_size, blur_size),18sigmaX=sigma)19dy = alpha * cv2.GaussianBlur((np.random.rand(*shape) * 2 - 1),20ksize=(blur_size, blur_size),21sigmaX=sigma)2223x, y = np.meshgrid(np.arange(shape[1]), np.arange(shape[0]))24indices = np.reshape(y+dy, (-1, 1)), np.reshape(x+dx, (-1, 1))2526# TODO use cv2.remap(image, dx, dy, interpolation=cv2.INTER_LINEAR)27return np.array(map_coordinates(image, indices, order=1, mode='constant').reshape(shape))2829