Automatic license plate recognition (ALPR) is the process of extracting and recognizing character information within a localized license plate region. Typically, ALPR involves three steps; image capture, image procession and plate recognition. The performance of an ALPR is largely dependent on the quality of the captured image, which is determined by factors such as environmental variation, camera quality and occlusion. Image procession and plate recognition step involves image processing techniques that extract and recognizes license plate and characters, respectively. ALPR systems could be realized on microprocessors (software-based) or custom computing platforms (hardware-based). Drawbacks such as portability, power consumption and computational speed limit software-based ALPR for real-time deployment. Custom platforms for ALPR consume less power and achieve high processing speed for real-time capability. However, limited computing resources available within a custom chip make it difficult to implement State-of-the-Art computationally intensive algorithms. Thus, very few literatures discussed ALPR techniques on custom computing platforms. This paper presents a comprehensive review of algorithms and architectures of ALPR on microprocessors and custom computing platforms. Design approaches, performance, gaps, suggestions and trends are discussed.This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.