The recognize function has a few overloads. The one that takes raw pixel values is mainly a way to efficiently transfer data from OpenCV Mat without including all the libraries in alpr.h. I believe it's BGR format. There is another recognize function that takes a byte array, and that is looking for encoded image data (e.g., JPG, PNG, BMP, etc.).