splitted_t_set = [] for t_set in glob.glob('./trainingdata/*.png'): print("Reading image: " + t_set) img = cv2.imread(t_set, cv2.IMREAD_GRAYSCALE) preprocess = Preprocessing(img) preprocess.binariseImg() splitted_chars = preprocess.splitChars() splitted_t_set.append(splitted_chars) # Histogram for i in range(len(char_values)): for font in splitted_t_set: histogram = Histogram(font[i]) database.add(char_values[i], 'histogram', histogram.rowWert2wert()) # Pixel Average for i in range(len(char_values)): for font in splitted_t_set: pix_av = FeatureExtraction(font[i]) database.add(char_values[i], 'pixelAv', pix_av.getpixelaverage()) # PCA pca = PCA() for i in range(len(char_values)): temp = [] for j in splitted_t_set: temp.append(j[i]) pca.trainChar(char_values[i], temp)
temp.append(float(j)) featureVector = [pix_av_merkmale] + histogram_merkmale + temp classify = Classify() classify.crispKnn(featureVector, 3) # print(featureVector) characterCount = 4 ## CLASSIFICATION featureVectors = database.readFeatureVectors() for char in featureVectors: for char_vector_count in featureVectors[char]: membershipvalue = 0 # Example value database.add( "featureMembership", char + str(char_vector_count), membershipvalue ) # Write to database. Don't forget to save database with database.saveDatabase() membershipvalue = database.read( "featureMembership", char + str(char_vector_count)) # Read back from database. # Testbild wird hier geladen und auf gleiche Weise durch Preprocessing gejagt img = cv2.imread('trainingdata/trainingsdata.off/helloworld.png', cv2.IMREAD_GRAYSCALE) preprocess = Preprocessing(img) preprocess.binariseImg() splitted_chars = preprocess.splitChars() for i in range(len(splitted_chars)): #tools.writeImage(splitted_chars[i], "out" + str(i) + '.png')