How do I improve preprocessing for OCR on small license plate images with Thai characters?
21:52 04 Jan 2026

I have been working on this for a long time and I seem to get no good results. These are examples of the images I am working with, which have already been corrected (not perfectly) for skew.

Plate 1 Plate 2 Plate 3

Plate 1 Attempt Plate 2 Attempt Plate 3 Attempt

I have had better results but I do not remember the parameters and processes I used for them and I did not save them. However, even then, I always encounter this problem of the letters becoming thicker than (what I assume to be) usable for OCR, and other noise from the license plate remaining.

A summary of my steps:

Upscaling > Grayscale conversion > Denoising (fastNlMeansDenoising) > CLAHE > White point adjustment > Otsu's thresholding

I am sure this is definitely not the best solution, which is why I would really appreciate help with this.

Is OCR with this size of image possible? What can I do to improve my preprocessing?

ocr preprocessor automatic-license-plate-recognition