def create_database(self):
     all = ChineseCharacterGenerator.all(self.CHARACTERS_NUM)
     print "start len all", len(all)
     all = self.all_to_characters(all)
     print "unpacked len all", len(all)
     print "finish getting characters"
     with open(self.database_file, "w+") as file:
         file.write(self.heading);
         for i, sign in enumerate(all):
             image = sign.pilImageColor
             cv_image = PILtoCV(image)
             h_desc, v_desc = self.picture_descriptioner(cv_image)
             self.write_line(file, i,  sign.sign, sign.fontName, h_desc, v_desc)
             if i % self.reminder_num == 0:
                 print "Already written:", i
     print "Finally written", i
 def computeFeaturesInAllSet(cls, binary=True):
     allSet = {}
     allSet["X"] = []
     allSet["y"] = []
     picNum = 0
     all = ChineseCharacterGenerator.all()
     for sign, pic_in_fonts in all.items():
         for pic in pic_in_fonts:
             sign_features = cls.features(pic)
             sign_features = np.array(sign_features)
             allSet["X"].append(sign_features)
             allSet["y"].append(sign)
             picNum += 1
             if picNum % 1000 == 0:
                 print "Already {} pictures".format(picNum)
     with open(cls.allSetFile, "wb") as file:
         pickle.dump(allSet, file)
 def create_database(self):
     all = ChineseCharacterGenerator.all(self.CHARACTERS_NUM)
     print "start len all", len(all)
     all = self.all_to_characters(all)
     print "unpacked len all", len(all)
     print "finish getting characters"
     k = 1
     with open(self.database_file, "w+") as file:
         file.write(self.heading)
         for i, sign in enumerate(all):
             image = sign.pilImageColor
             cv_image = PILtoCV(image)
             desc = self.picture_descriptioner(cv_image, sign.fontName)
             if (
                 sign.fontName != "WCL-07.ttf"
                 and sign.fontName != "wts11.ttf"
                 and self.write_line(file, k, sign.sign, sign.fontName, desc)
             ):
                 k = k + 1
             if k % self.reminder_num == 0:
                 print "Already written:", k
     print "Finally written", k
예제 #4
0
    for i in range(len(x_points)):
        file.write(str(x_points[i]) + ", ")
    for j in range(len(y_points) - 1):
        file.write(str(y_points[j]) + ", ")
    file.write(str(y_points[-1]) + "\n")


with open('line_detection_statistics.csv', 'w+') as file:
    file.write("Id, AllNum, Noise, ")
    for i in range(30):
        file.write("h" + str(i) + ", ")
    for j in range(29):
        file.write("v" + str(j) + ", ")
    file.write("v29\n")

    all = ChineseCharacterGenerator.all()

    i = 0
    all_num = 0
    magic_num = 9
    for character, inAllFonts in all.items()[:2000]:
        for signPicture in inAllFonts:
            cv_image = PILtoCV(signPicture.pilImageColor)
            x_points, y_points = LineDetector.getLinesOnPicture(cv_image)
            file.write(str(i) + ", " + str(all_num) + ",no, ")
            writePoints(file, x_points, y_points)
            i += 1
            for j in xrange(magic_num):
                image = ImageNoiser.Noise(cv_image)
                x_points, y_points = LineDetector.getLinesOnPicture(image)
                file.write(str(i) + ", " + str(all_num) + ",yes, ")