Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nie wszystkie aplikacje wymagają użycia rozpoznawania pisma, ale ponieważ większość aplikacji została zaprojektowana z tekstem jako podstawowym typem danych, możliwość konwersji pisma odręcznego na tekst jest bardzo cenna. Możesz użyć funkcji rozpoznawania interfejsu API platformy Tablet PC do zapytania o informacje dotyczące dostępnych silników rozpoznawania, na przykład języki, które obsługują. Następnie można wysłać kolekcję Strokes z obiektu Ink do aparatu rozpoznawania i otrzymać obiekt RecognitionResult.
Obiekt RecognizerContext
Obiekt RecognizerContext jest instancją danego rozpoznawacza. Obiekt RecognizerContext umożliwia synchroniczne lub asynchroniczne rozpoznawanie określonej kolekcji pociągnięć. Podczas rozpoznawania asynchronicznego obiekt RecognizerContext zwraca obiekt RecognitionResult w wywołaniu zwrotnym zdarzenia do aplikacji.
Moduły rozpoznające i obiekty rozpoznawania
Jeden komputer z tabletem może mieć dostępną co najmniej jedną usługę rozpoznawania. Możesz wysłać zapytanie do kolekcji mechanizmów rozpoznawania, aby określić, który mechanizm rozpoznawania ma być używany. Rozpoznawarka dostarcza szczegółowe informacje o swoich możliwościach, takich jak język, który może rozpoznać, oraz producent.
Aby określić, czy zainstalowano co najmniej jeden obiekt rozpoznawania, utwórz wystąpienie obiektu InkRecognizerContext, jak pokazano w poniższych przykładach kodu C++ i C#. Jeśli rozpoznawanie nie jest obecne, to wywołanie metody CoCreateInstance zakończy się niepowodzeniem.
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.");
}
Wynik rozpoznawania i alternatywy rozpoznawania obiektów
Wyniki rozpoznawania są zwracane w obiekcie RecognitionResult. Wyniki zawierają najlepszy ciąg wyników we właściwości TopString, a także kolekcję wyników alternatywnych w kolekcji RecognitionAlternates. Obiekt RecognitionResult można utrwalać przy użyciu oryginalnej kolekcji Strokes, z której został wygenerowany.
RecognizerGuide Struktura
Przewodnik rozpoznawania może składać się z wierszy i kolumn oraz zapewnia lepszy kontekst dla procesu rozpoznawania. Można na przykład narysować linie poziome na ekranie użytkownika, prawie tak jak w przypadku kawałka papieru, które pokazują, gdzie powinno wystąpić pismo ręczne (ten typ przewodnika składa się tylko z wierszy i bez kolumn). Jeśli użytkownik zapisuje na liniach, zamiast w dowolnym miejscu, dokładność rozpoznawania się poprawia.
Poniższa ilustracja przedstawia strukturę RecognizerGuide z dwoma wierszami dla danych wejściowych.
ilustracja 
Poniższa ilustracja przedstawia strukturę RecognizerGuide z czterema kolumnami i trzema wierszami.
Aby uzyskać więcej informacji na temat korzystania ze struktury RecognizerGuide, zobacz temat referencyjny RecognizerGuide.