In [0]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import cv2

In [0]:
from google.colab.patches import cv2_imshow

In [0]:
!pip install wand
!apt-get install libmagickwand-dev

In [0]:
!pip install --upgrade scikit-image
!pip install --upgrade imutils

In [0]:
!apt install tesseract-ocr
!apt install libtesseract-dev

In [0]:
pip install pytesseract

In [0]:
from google.colab import files
files.upload()

In [4]:
!ls


contrato_sample1.jpg  contrato_sample2.jpg  sample_data

In [0]:
from PIL import Image
import pytesseract
import cv2

In [0]:
# load the example image and convert it to grayscale
#No preprocessing required here as the results are fairly good.
text = pytesseract.image_to_string(Image.open('contrato_sample1.jpg'))
text2 = pytesseract.image_to_string(Image.open('contrato_sample2.jpg'))

In [12]:
print("Doc 1:",len(text), "Doc 2:", len(text2))


Doc 1: 2502 Doc 2: 2542

In [15]:
print(text, text2)


CONTRATO DE CONFIDENCIALIDAD QUE CELEBRAN POR UNA PARTE ARIABATA
CONSULTING S.C., REPRESENTADA EN ESTE ACTO POR EL SENOR HETOR DANIEL
DOBERNARDO, EN LO SUCESIVO DENOMINADA “LA EMPRESA", Y POR LA OTRA, POR

SU PROPIO DERECHO, , EN LO SUCESIVO
DENOMINADO "EL PROFESIONAL", AL TENOR DE LAS SIGUIENTES DECLARACIONES Y
CLAUSULAS:

DECLARACIONES

  
  
   
   
 
 
  
   
     
 
 
  

|. Declara EL PROFESIONAL por su propio derecho:

A. Ser una persona fisica en pleno uso de sus capacidades para celebrar el presente
contrato, haber nacido en la ciudad de México el dia 22 de Julio de 1995, tener
nacionalidad mexicana, con domicilio en Valle de los Olmos 17 y estar inscrita en el
Registro Federal de Contribuyentes bajo la clave SAGS36926

Haber cursado la carrera de Ingenieria Industrial y, consecuentemente, contar con los

deseo colaborar como asesor de clientes de LA EMPRESA, actividad que por

‘a supone el acceso a la INFORMACION CONFIDENCIAL propiedad

exclusiva de KA EMPRESA 0 de los clientes de LA EMPRESA.

D. Que tiene, tendra\o podra llegar a tener conocimiento o acceso a la INFORMACION
CONFIDENCIAL propiedad de LA EMPRESA o en posesién legitima de LA EMPRESA,
ya sea que la mis! tenga relacién directa o indirecta con las actividades que
desempefa y respecto dé la cual se le ha prevenido sobre su confidencialidad.

E. Reconocer la exclusiva titularidad de LA EMPRESA 0 de los clientes de LA EMPRESA
sobre la INFORMACION CONRIDENCIAL que ésta o estos le proporcionen con el
objeto de desempefiarse como asésor, segtin lo descrito en el numeral que antecede.

F. Que es su deseo celebrar el presente. contrato con LA EMPRESA con el objeto de
obligarse en los términos y condiciones, estipuladas en el mismo y de regular la
confidencialidad sobre la informacién que™ecibira en virtud de las actividades que
desarrollara.

ll. Declara LA EMPRESA a través de su representante leg

A. Que es una sociedad civil constituida de conformidad con las leyes mexicanas, segun la
Escritura Publica No. 38,151 de fecha 25 de mayo de 2015 otorgada ante la fe del Lic.
José Antonio Sosa Castafieda, Notario Publico No. 163 de lasciudad de México, Distrito
Federal, debidamente inscrita en el Registro Publico de la Propiedad y del Comercio de
esta ciudad bajo el folio de personas morales numero 114,873 con domicilio en la calle
Empresa 113 interior 5, Colonia Insurgentes Mixcoac, Delegacién Benito Juarez, C.P.
03920, e inscrita en el Registro Federal de Contribuyentes bajo la clave
ACO150526RT7. CONTRATO DE CONFIDENCIALIDAD QUE CELEBRAN POR UNA PARTE ARIABATA
CONSULTING S.C., REPRESENTADA EN ESTE ACTO POR EL SENOR HECTOR DANIEL
DEBERNARDO, EN LO SUCESIVO DENOMINADA “LA EMPRESA", Y PORLA OTRA, POR
SU PROPIO DERECHO, , EN LO SUCESIVO
DENOMINADO "EL PROFESIONAL", AL TENOR DE LAS SIGUIENTES DECLARACIONES Y
CLAUSULAS:

DECLARACIONES
|. Declara EL PROFESIONAL por su propio derecho:

A. Ser una persona fisica en pleno uso de sus capacidades para celebrar el presente
contrato, haber nacido en la ciudad de México el dia 17 de Junio de 1992, tener
nacionalidad mexicana, con domicilio en Valle de los Flores 12 y estar inscrita en el
Registro Federal de Contribuyentes bajo la clave SAGS177515.

B. Haber cursado la carrera de Ingenieria Industrial y, consecuentemente, contar con los
conocimientos propios de su carrera profesional.

C. Que es su deseo colaborar como asesor de clientes de LA EMPRESA, actividad que por
su naturaleza supone el acceso a la INFORMACION CONFIDENCIAL propiedad
exclusiva de LA EMPRESA 0 de los clientes de LA EMPRESA.

D. Que tiene, tendra o podra llegar a tener conocimiento 0 acceso a la INFORMACION
CONFIDENCIAL propiedad de LA EMPRESA o en posesi6n legitima de LA EMPRESA,
ya sea que la misma tenga relacién directa o indirecta con las actividades que
desempefia y respecto de la cual se le ha prevenido sobre su confidencialidad.

E. Reconocer la exclusiva titularidad de LA EMPRESA 0 de los clientes de LA EMPRESA
sobre la INFORMACION CONFIDENCIAL que ésta o estos le proporcionen con el
objeto de desempefiarse como asesor, segtin lo descrito en el numeral que antecede.

F. Que es su deseo celebrar el presente contrato con LA EMPRESA con el objeto de
obligarse en los términos y condiciones estipuladas en el mismo y de regular la
confidencialidad sobre la informacion que recibira en virtud de las actividades que
desarrollara.

Il. Declara LA EMPRESA a través de su representante legal:

A. Que es una sociedad civil constituida de conformidad con las leyes mexicanas, segun la
Escritura Publica No. 38,150 de fecha 25 de mayo de 2015 otorgada ante la fe del Lic.
José Antonio Sosa Castafieda, Notario Publico No. 163 de la ciudad de Mexico, Distrito
Federal, debidamente inscrita en e] Registro Publico de la Propiedad y del Comercio de
esta ciudad bajo el folio de personas morales numero 115,873 con domicilio en la calle
Empresa 113 interior 5, Colonia Insurgentes Mixcoac, Delegacién Benito Juarez, C.P.
03920, e inscrita en el Registro Federal de Contribuyentes bajo la clave
ACO150525RT7.

In [0]:
print(text2)


CONTRATO DE CONFIDENCIALIDAD QUE CELEBRAN POR UNA PARTE ARIABATA
CONSULTING S.C., REPRESENTADA EN ESTE ACTO POR EL SENOR HECTOR DANIEL
DEBERNARDO, EN LO SUCESIVO DENOMINADA “LA EMPRESA", Y PORLA OTRA, POR
SU PROPIO DERECHO, , EN LO SUCESIVO
DENOMINADO "EL PROFESIONAL", AL TENOR DE LAS SIGUIENTES DECLARACIONES Y
CLAUSULAS:

DECLARACIONES
|. Declara EL PROFESIONAL por su propio derecho:

A. Ser una persona fisica en pleno uso de sus capacidades para celebrar el presente
contrato, haber nacido en la ciudad de México el dia 17 de Junio de 1992, tener
nacionalidad mexicana, con domicilio en Valle de los Flores 12 y estar inscrita en el
Registro Federal de Contribuyentes bajo la clave SAGS177515.

B. Haber cursado la carrera de Ingenieria Industrial y, consecuentemente, contar con los
conocimientos propios de su carrera profesional.

C. Que es su deseo colaborar como asesor de clientes de LA EMPRESA, actividad que por
su naturaleza supone el acceso a la INFORMACION CONFIDENCIAL propiedad
exclusiva de LA EMPRESA 0 de los clientes de LA EMPRESA.

D. Que tiene, tendra o podra llegar a tener conocimiento 0 acceso a la INFORMACION
CONFIDENCIAL propiedad de LA EMPRESA o en posesi6n legitima de LA EMPRESA,
ya sea que la misma tenga relacién directa o indirecta con las actividades que
desempefia y respecto de la cual se le ha prevenido sobre su confidencialidad.

E. Reconocer la exclusiva titularidad de LA EMPRESA 0 de los clientes de LA EMPRESA
sobre la INFORMACION CONFIDENCIAL que ésta o estos le proporcionen con el
objeto de desempefiarse como asesor, segtin lo descrito en el numeral que antecede.

F. Que es su deseo celebrar el presente contrato con LA EMPRESA con el objeto de
obligarse en los términos y condiciones estipuladas en el mismo y de regular la
confidencialidad sobre la informacion que recibira en virtud de las actividades que
desarrollara.

Il. Declara LA EMPRESA a través de su representante legal:

A. Que es una sociedad civil constituida de conformidad con las leyes mexicanas, segun la
Escritura Publica No. 38,150 de fecha 25 de mayo de 2015 otorgada ante la fe del Lic.
José Antonio Sosa Castafieda, Notario Publico No. 163 de la ciudad de Mexico, Distrito
Federal, debidamente inscrita en e] Registro Publico de la Propiedad y del Comercio de
esta ciudad bajo el folio de personas morales numero 115,873 con domicilio en la calle
Empresa 113 interior 5, Colonia Insurgentes Mixcoac, Delegacién Benito Juarez, C.P.
03920, e inscrita en el Registro Federal de Contribuyentes bajo la clave
ACO150525RT7.

In [0]:
!python -m spacy download es_core_news_md

In [0]:
import spacy

In [0]:
nlp = spacy.load("es_core_news_md")

In [18]:
doc1 = nlp(text)
doc2 = nlp(text2)

doc1.similarity(doc2)


Out[18]:
0.9999242608533871

In [0]:
# import the necessary packages
from skimage.measure import compare_ssim
import argparse
import imutils

In [0]:
# load the two input images
imageA = cv2.imread("contrato_sample1.jpg")
imageB = cv2.imread("contrato_sample2.jpg")
 
# convert the images to grayscale
grayA = cv2.cvtColor(imageA, cv2.COLOR_BGR2GRAY)
grayB = cv2.cvtColor(imageB, cv2.COLOR_BGR2GRAY)

#denoise image filter
d_grayA = cv2.fastNlMeansDenoising(grayA, 7,21)
d_grayB = cv2.fastNlMeansDenoising(grayB, 7,21)

In [21]:
print("Denoised gray A")
cv2_imshow(d_grayA)
print('Denoised gray B')
cv2_imshow(d_grayB)


Denoised gray A
Denoised gray B

In [22]:
# compute the Structural Similarity Index (SSIM) between the two
# images, ensuring that the difference image is returned
(score, diff) = compare_ssim(grayA, grayB, full=True)
diff = (diff * 255).astype("uint8")
print("With noise SSIM: {}".format(score))


With noise SSIM: 0.37455022077288663

In [23]:
# compute the Structural Similarity Index (SSIM) between the two denoised
# images, ensuring that the difference image is returned
(score, diff) = compare_ssim(d_grayA, d_grayB, full=True)
diff = (diff * 255).astype("uint8")
print("Without noise SSIM: {}".format(score))


Without noise SSIM: 0.9276172650409213

In [0]:
# threshold the difference image, followed by finding contours to
# obtain the regions of the two input images that differ
thresh = cv2.threshold(diff, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)

In [25]:
for c in cnts:
	# compute the bounding box of the contour and then draw the
	# bounding box on both input images to represent where the two
	# images differ
	(x, y, w, h) = cv2.boundingRect(c)
	cv2.rectangle(imageA, (x, y), (x + w, y + h), (0, 0, 255), 2)
	cv2.rectangle(imageB, (x, y), (x + w, y + h), (0, 0, 255), 2)
#show the output images
cv2_imshow(imageA)
cv2_imshow(imageB)
cv2_imshow(diff)
cv2_imshow(thresh)



In [0]:
grayA.size

In [0]:
grayB.size

In [0]:
(H, W) = grayA.shape
# to resize and set the new width and height 
grayB = cv2.resize(grayB, (W, H))

In [0]:
imageA.shape


Out[0]:
(1650, 1275, 3)

In [0]: