-
Notifications
You must be signed in to change notification settings - Fork 0
/
Autolearn.py
59 lines (52 loc) · 1.89 KB
/
Autolearn.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
56
57
58
59
__author__ = 'steeven'
from Others import GetImagenes
import cv2 as v
import os
import numpy as np
from easygui import *
import mlpy
from Caracteristicas import eolaplace, eogradient, smlaplacian, varianza, morphgradient
from corte import dividir, unir
files = GetImagenes('OUT')
salida = "Salida"
datos = open("datasetnewtesast.txt", "w")
try:
os.mkdir(salida)
except:
pass
response = None
while len(files) != 0:
Img1 = files.pop()
Img2 = Img1.split('_')
Img2[1] = '1' if Img2[1] == '2' else '2'
Img2[3] = 'N.jpg' if Img2[3] == 'E.jpg' else 'E.jpg' if Img2[3] == 'N.jpg' else 'I.jpg'
Img2 = Img2[0]+'_'+Img2[1]+'_'+Img2[2]+'_'+Img2[3]
Img2 = files.pop(files.index(Img2))
clase = 0 if Img1[-5:-4] == 'E' else 1 if Img2[-5:-4] == 'E' else 2
Img1 = v.imread('OUT/'+Img1, 0)
Img2 = v.imread('OUT/'+Img2, 0)
Iaeol = eolaplace(Img1)
Iaeog = eogradient(Img1)
Iasml = smlaplacian(Img1)
Iavar = varianza(Img1)
Iamrp = morphgradient(Img1)
Ibeol = eolaplace(Img2)
Ibeog = eogradient(Img2)
Ibsml = smlaplacian(Img2)
Ibvar = varianza(Img2)
Ibmrp = morphgradient(Img2)
#print Iaeol, Iaeog, Iasml, Iavar, Iamrp, Ibeol, Ibeog, Ibsml, Ibvar, Ibmrp, clase
print Iaeol, Ibeol
Img1 = v.cvtColor(Img1, v.COLOR_GRAY2RGB)
Img2 = v.cvtColor(Img2, v.COLOR_GRAY2RGB)
v.circle(Img1,(len(Img1[0])/2,len(Img1)/2),len(Img1)/2,[0,0,255],3) if clase ==0 else v.circle(Img2,(len(Img1[0])/2,len(Img1)/2),len(Img1)/2,[0,0,255],3) if clase ==1 else 0
v.imshow('A', Img1)
v.imshow('B', Img2)
v.waitKey()
response = buttonbox("verdadero?", "Verificacion", ["SI", "NO"])
if response == "SI":
datos.write(str(Iaeol)+","+str(Iaeog)+","+str(Iasml)+","+str(Iavar)+","+str(Iamrp)+","+str(Ibeol)+","+str(Ibeog)+","+str(Ibsml)+","+str(Ibvar)+","+str(Ibmrp)+","+str(clase)+"\n")
else:
print "Falso"
print len(files)
datos.close()