This document presents a method for smart control of traffic signals using image processing. A camera captures images of traffic that are processed using MATLAB to detect vehicles and estimate traffic density in each lane. It can also detect ambulances by identifying the red and blue colors of ambulance sirens. An Arduino microcontroller then prioritizes the traffic signals based on detected traffic density and presence of any ambulances, giving priority to lanes with more vehicles or ambulances. The system was able to successfully prototype real-time image processing for automated, intelligent traffic signal control based on traffic conditions.