예제 #1
0
    def init_recognizer(self,recognizer='zinnia'):
        recognizers = Recognizer.get_available_recognizers()
        print "Available recognizers", recognizers,type(recognizers)
        
        for temp in recognizers :
            pprint.pprint(temp)
        recognizer_name = recognizer
        if not recognizer_name in recognizers:
            raise Exception, "Not an available recognizer"

        recognizer_klass = recognizers[recognizer_name]
        self.recognizer = recognizer_klass()

        models = recognizer_klass.get_available_models()
        for model  in models :
            print type(model),model
        
        for model  in models :
            print type(model),model
        print "++++"
        for r_name, model_name, meta  in Recognizer.get_all_available_models() :
            print r_name
            print model_name
            print meta

        
        print "\nAvailable models", models,type(models)
        print (models['Simplified Chinese']['shortname'])
        model = "Simplified Chinese"
        if not model in models:
            raise Exception, "Not an available model"

        print self.recognizer.set_model(model)
예제 #2
0
    def post(self):
        xmlFile = request.files['file']
        recognizer = "zinnia"
        model = "Japanese"

        char = Character()
        char.read(xmlFile)
        writing = char.get_writing()

        recognizers = Recognizer.get_available_recognizers()

        if not recognizer in recognizers:
            raise TegakiRecognizeError, "Not an available recognizer."

        recognizer_klass = recognizers[recognizer]
        recognizer = recognizer_klass()

        models = recognizer_klass.get_available_models()

        if not model in models:
            raise TegakiRecognizeError, "Not an available model."

        recognizer.set_model(model)

        return {'data': recognizer.recognize(writing)}
예제 #3
0
파일: tegakiosd.py 프로젝트: ulim/tegakiOSD
    def init_recog(self):
        self.candidates = None
        r_name, model_name, meta = Recognizer.get_all_available_models()[1]

        klass = Recognizer.get_available_recognizers()[r_name]
        self._recognizer = klass()
        self._recognizer.set_model(meta["name"])
        self._writing = Writing()
예제 #4
0
파일: tegakiosd.py 프로젝트: ulim/tegakiOSD
 def choice_setmodel(self,nr):
     mcount = len(Recognizer.get_all_available_models())
     if (nr==mcount) and self.faking:
         self.set_decorated(not self.get_decorated())
         return
     elif nr>mcount:
         return
     r_name, model_name, meta = Recognizer.get_all_available_models()[nr]
     klass = Recognizer.get_available_recognizers()[r_name]
     self._recognizer = klass()
     self._recognizer.set_model(meta["name"])
     self._writing = Writing()
예제 #5
0
    def set_selected_model(self, i):
        try:
            r_name, model_name, meta = Recognizer.get_all_available_models()[i]

            klass = Recognizer.get_available_recognizers()[r_name]
            self._recognizer = klass()
            self._recognizer.set_model(meta["name"])
            self._models_button.set_label(meta["shortname"])
            # a hack to retain the model id the button
            self._models_button.selected_model = i

            self._ready = True
        except IndexError:
            self._ready = False
예제 #6
0
파일: views.py 프로젝트: 2050utopia/hwr
def recognize_submit(request):
    if settings.DEBUG:
        xml = request.REQUEST['xml']    #if testing we want to be able to pass stuff in with GET request
    else:
        xml = request.POST['xml']
    char = character.Character()
    char.read_string(xml)
    klass = Recognizer.get_available_recognizers()['zinnia']
    rec = klass()
    rec.set_model('Simplified Chinese')
    writing = char.get_writing()
    #writing = writing.copy()
    results = rec.recognize(writing) 
    return HttpResponse(u"%s" % jsonify_results(results))
예제 #7
0
    def set_selected_model(self, i):
        try:
            r_name, model_name, meta = Recognizer.get_all_available_models()[i]

            klass = Recognizer.get_available_recognizers()[r_name]
            self._recognizer = klass()
            self._recognizer.set_model(meta["name"])
            self._models_button.set_label(meta["shortname"])
            # a hack to retain the model id the button
            self._models_button.selected_model = i

            self._ready = True
        except IndexError:
            self._ready = False
예제 #8
0
        def setDictionary(self, recognizerSettings={}):
            #self.clear_strokes()

            #initialize the default dictionary and a simple recognizer
            if recognizerType == 'tomoe' \
                and 'tomoe' in recognizerSettings \
                and 'dictionary' in recognizerSettings['tomoe']:
                tomoeDict = Dict("XML",
                    filename=recognizerSettings['tomoe']['dictionary'])
                self.recognizer = Recognizer('Simple',
                    dictionary=tomoeDict)

                # will encapsulate stroke data
                if not self.writing:
                    self.writing = Writing()
            elif recognizerType == 'tegaki':
                recognizers = Recognizer.get_available_recognizers()

                if not recognizers:
                    raise Exception('No recognizer available')

                if 'tegaki' in recognizerSettings \
                    and 'recognizer' in recognizerSettings['tegaki']:
                    engine = recognizerSettings['tegaki']['recognizer']
                    if engine not in recognizers:
                        raise Exception('recognizer not available')
                else:
                    engine = recognizers.keys()[0]

                recognizer_klass = recognizers[engine]
                self.recognizer = recognizer_klass()

                if 'tegaki' in recognizerSettings \
                    and 'model' in recognizerSettings['tegaki']:
                    model = recognizerSettings['tegaki']['model']
                    if model not in recognizer_klass.get_available_models():
                        raise Exception('Model not available')
                else:
                    model = recognizer_klass.get_available_models().keys()[0]

                self.recognizer.set_model(model)

                # will encapsulate stroke data
                if not self.writing:
                    self.writing = Writing()
            else:
                self.writing = None