VNRecognizeTextRequest does not recognise single letters

I use VNRecognizeTextRequest to recognise a series of letters drawn by hand in the app.

When I draw a few letters, it usually works fine.

is recognised as "LV"

But if I draw a single letter:

or

in most cases, I get zero observation, even using recognitionLevel3.

But this was recognized as "V":

It is apparently not a question of how well drawn letters, as even this was recognised as "LI":

However, this one was not

I have even tried to add custom words, to no avail: request.customWords = ["I", "V", "L"]

General observation is that single letters are rarely or never recognised, dual letters may be recognised ; 3 letters are systematically recognised.

But, I have now increased the brushWidth, and it works much better, even with single letter:

What tuning of VNRecognizeTextRequest do I miss ?

Hello Claude31,

Could you please provide more information about which platform, version, and dev environment you are using? Additionally, if it's possible for you to replicate this behavior in a focused sample app containing only the minimal code and API necessary to reproduce the issue, please link to the project.

Thank you,

Richard Yeh  Developer Technical Support

Hi Richard,

thanks for returning.

Environment :

  • Xcode 26.3
  • MacOS 15.7.9 (24G830
  • Tested on simulators (iOS 26.1, and many other version of iOS )
  • Tested on iPad 15.8.8 and iPhone XS 18.7.9

In fact, I notice recognition of single letters (like I) is whimsical ; it may or may not work.

I did filed a pretty similar FB a few years ago: Jun 7, 2022 – FB10066541

I will try to make a minimal project. In the meantime, if there is a mail to which I can send the reference of the (free) app on the appstore just to see what happens.

I may have found a cause (may be not all causes).

Somewhere I had set :

request.recognitionLevel = .fast

to retry recognition.

I eliminated this, seems to work somewhat better.

I have built a minimal project ; how can I send you ?

Hello Claude31,

Generally .recognitionLevel is one of two settings on VNRecognizeTextRequest that you could tweak to see if your results improve. Sounds like by removing it you defaulted it to .accurate, which would improve performance at the cost of speed. You could also try a different TextRequestRevision to see if it makes a difference, even if the older ones are deprecated.

Hoping this helps,

Richard Yeh  Developer Technical Support

Hi Richard, thanks.

I did already set request.revision

request.revision = VNRecognizeTextRequestRevision3

Could you find the project in FB ?

VNRecognizeTextRequest does not recognise single letters
 
 
Q