Inktherkenning
Niet alle toepassingen vereisen het gebruik van herkenning, maar omdat de meeste toepassingen zijn ontworpen met tekst als hun primaire gegevenstype, is de mogelijkheid om inkt te converteren naar tekst zeer waardevol. U kunt de herkenningsfuncties van de Tablet PC-platform-API gebruiken om te zoeken naar informatie over de beschikbare herkenningsengines, zoals welke talen ze herkennen. U kunt vervolgens een Strokes verzameling van een Ink--object naar een herkenningsmotor sturen en een RecognitionResult--object terug laten sturen.
RecognizerContext-object
Een RecognizerContext--object is de instantiëring van een bepaalde recognizer. Met het object RecognizerContext kunt u een bepaalde verzameling stroken synchroon of asynchroon herkennen. Bij het asynchroon herkennen retourneert het object RecognizerContext het object RecognitionResult via een terugroepfunctie voor evenementen naar de toepassing.
Herkenners en Herkenner-objecten
Een enkele tablet-pc heeft mogelijk een of meer recognizers beschikbaar. U kunt een query uitvoeren op de verzameling van de recognizer om te bepalen welke recognizer moet worden gebruikt. Een recognizer biedt specifieke informatie over de mogelijkheden, zoals de taal die hij kan herkennen en de fabrikant.
Als u wilt bepalen of ten minste één recognizer is geïnstalleerd, instantieert u een InkRecognizerContext-object, zoals wordt weergegeven in de volgende C++- en C#-codevoorbeelden. Als er geen recognizer aanwezig is, mislukt deze aanroep van CoCreateInstance.
CComPtr<IInkRecognizerContext> g_pIInkRecoContext;
hr = CoCreateInstance(CLSID_InkRecognizerContext,
NULL, CLSCTX_INPROC_SERVER,
IID_IInkRecognizerContext,
(void **) &g_pIInkRecoContext);
if (FAILED(hr))
{
::MessageBox(NULL, TEXT("No recognizers installed.\nExiting."),
gc_szAppName, MB_ICONERROR);
return -1;
}
try
{
Recognizers recos = new Recognizers();//Check for recognizer.
Recognizer defReco = recos.GetDefaultRecognizer();
recoContext = defReco.CreateRecognizerContext();
}
catch
{
MessageBox.Show("No recognizers installed.");
}
RecognitionResult- en RecognitionAlternate-objecten
De resultaten van de herkenning worden geretourneerd in een RecognitionResult-object. De resultaten bevatten de beste resultatenreeks in de TopString eigenschap, evenals een verzameling alternatieve resultaten in een verzameling RecognitionAlternates. Het RecognitionResult-object kan worden behouden met de oorspronkelijke Strokes verzameling waaruit het is gegenereerd.
RecognizerGuide-structuur
De handleiding voor herkennen kan bestaan uit rijen en kolommen en geeft de recognizer een betere context waarin herkenning kan worden uitgevoerd. U kunt bijvoorbeeld horizontale lijnen tekenen op het scherm van een gebruiker, bijna zoals een geregeerd stuk papier, die aangeven waar handschrift moet plaatsvinden (dit type hulplijn bestaat alleen uit rijen en geen kolommen). Als een gebruiker op de regels schrijft in plaats van op een willekeurige ruimte, verbetert de nauwkeurigheid van de herkenning.
In de volgende afbeelding ziet u een RecognizerGuide structuur met twee regels voor invoer.
In de volgende afbeelding ziet u een RecognizerGuide structuur met vier kolommen en drie rijen.
Voor meer informatie over het gebruik van de RecognizerGuide- structuur, zie het RecognizerGuide naslagonderwerp.