一、使用模板匹配算法
match.py:
import os
import Function
root_dir = "digits/train2"
file7_7 = open("digits/picture7_7.txt", 'w+')
for fl in os.listdir(root_dir):
img_str = fl[0:-4] + ":" + Function.image_compression(root_dir + '/' + fl)
file7_7.write(img_str + '\n')
file7_7.close()
file7_7 = open("digits/picture7_7.txt", 'r')
root_dir = "digits/test"
Correct_rate = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Error_rate = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Rejection_rate = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
for fl in os.listdir(root_dir):
Same_dist_number = 0
Same_class = -1
min_dist = 7
dist_img = ""
test_img_str = Function.image_compression(root_dir + '/' + fl)
while True:
line = file7_7.readline()
if not line:
file7_7.seek(0)
break
train_str = line[-50:-1]
temp_dist = Function.distance(test_img_str, train_str)
if temp_dist < min_dist:
min_dist = temp_dist
dist_img = line[0:-51]
Same_dist_number = 0
Same_class = -1
elif temp_dist == min_dist:
Same_dist_number += 1