In recent years, license plate recognition system has become a crucial role in the development of smart cities for vehicle management, investigation of stolen vehicles, and traffic monitoring and control. License plate recognition system has three stages, including license plate localization, character segmentation, and character recognition. Although the license plate recognition system has been successfully applied to the environment-controlled smart parking system, it still faces many challenging in the surveillance system such as congested traffic with multiple plates, ambiguous signs and advertisements, tilting plates, as well as obscure images taken in bad weather and nighttime. In this paper, we propose an efficient license plate recognition system that first detects vehicles and then retrieves license plates from vehicles to reduce false positives on plate detection. Then, we apply convolution neural networks to improve the character recognition of blurred and obscure images. The experimental results show the superiority of the performance in both accuracy and performance in comparison with traditional license plate recognition systems.