-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.py
More file actions
127 lines (108 loc) · 3.26 KB
/
test.py
File metadata and controls
127 lines (108 loc) · 3.26 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# -*- coding: utf-8 -*-
"""
Created on Wed Jan 6 16:57:58 2016
@author: Junfu Pu, pjh@mail.ustc.edu.cn
Algorithm for CaptchaLess
"""
import Image
import numpy as np
from CL_algorithm import YJS_EPC
from CL_algorithm import MIS
#def getTemplate_yjs():
# im1 = Image.open('Template1/0130')
# im2 = Image.open('Template1/3214')
# im3 = Image.open('Template1/7564')
# im4 = Image.open('Template1/7849')
# bw_im1 = np.array(im1.convert('L'))>128
# bw_im2 = np.array(im2.convert('L'))>128
# bw_im3 = np.array(im3.convert('L'))>128
# bw_im4 = np.array(im4.convert('L'))>128
#
# dic_0 = bw_im1[:,0:10].copy()
# dic_1 = bw_im1[:,10:20].copy()
# dic_2 = bw_im2[:,10:20].copy()
# dic_3 = bw_im2[:,0:10].copy()
# dic_4 = bw_im2[:,30:40].copy()
# dic_5 = bw_im3[:,10:20].copy()
# dic_6 = bw_im3[:,20:30].copy()
# dic_7 = bw_im3[:,0:10].copy()
# dic_8 = bw_im4[:,10:20].copy()
# dic_9 = bw_im4[:,30:40].copy()
# Dict = [dic_0,dic_1,dic_2,dic_3,dic_4,dic_5,dic_6,dic_7,dic_8,dic_9]
# return Dict
#
#def makePrediction_yjs(img_test):
# Dict = getTemplate_yjs()
# dist = np.zeros((10,4))
# img_test = np.array(img_test.convert('L'))>128
# for i in range(4):
# subImg = img_test[:,i*10:(i+1)*10]
# j = 0
# for dic in Dict:
# dist[j,i] = (dic^subImg).sum()
# j += 1
# result = dist.argmin(axis=0)
# checkcode = repr(result)
# return checkcode
#def getTemplate_mis():
# Names_num = ['2.jpg','3.jpg','4.jpg','5.jpg','6.jpg', \
# '7.jpg','8.jpg','9.jpg']
# Names_alp = []
# for i in range(65,91):
# Names_alp.append(chr(i)+'.jpg')
# Names_alp.remove('I.jpg')
# Dict = []
# label = []
#
# i = 1
# for name in Names_num:
# img = Image.open('Template_mis/'+name)
# bw_img = np.array(img.convert('L'))>128
# Dict.append(bw_img)
# label.append(str(i))
# i += 1
#
# for i in range(65,91):
# label.append(chr(i))
# label.remove('I')
#
# for name in Names_alp:
# img = Image.open('Template_mis/'+name)
# bw_img = np.array(img.convert('L'))>128
# Dict.append(bw_img)
# return (Dict,label)
#
#def makePrediction_mis(img_test):
# (Dict,label) = getTemplate_mis()
# dist = np.zeros((10,4))
# img_test = np.array(img_test.convert("L"))>128
#
# for i in range(4):
# subImage = img_test[i]
# j = 0
# for dict in Dict:
# d = np.zeros(10)
# for k in range(10):
# subTemplate = dict[k:20+k,:]
# d[k] = (subTemplate^subImage).sum()
# dist[j,i] = d.min()
# j += 1
#
# result = dist.argmin(axis=0)
# checkcode = repr(result)
# return checkcode
if __name__=="__main__":
img_test = Image.open("test1")
yjs_epc = YJS_EPC()
checkcode = yjs_epc.makePrediction_yjs(img_test)
# checkcode = makePrediction_yjs(img_test)
print(checkcode)
# im = np.zeros((20,20))>1
# test = [im,im,im,im]
img_test_mis = Image.open('test_mis.jpg')
mis = MIS()
a = np.zeros((30,20))
test = [a,a,a,a]
# test = mis.split_codes(img_test_mis)
print mis.makePrediction_mis_test(test)
# getTemplate_mis()