The use of vision in intelligent transportation systems has been in development for the past 20 years. It has evolved rapidly and is widely considered one of the most promising perception technologies.Effective vision-based systems require developers to consider both hardware and software issues. Hardware issues include the computing engine and the sensing technologies-in vision systems, the cameras. Several camera technologies are available: daylight, far infrared (thermal), near IR, or even range cameras. The choice depends mainly on the specific application and cost-benefit analysis.Software issues include the offline development and debugging software and the final system software. A rapiddevelopment tool lets programmers focus on their application's specific vision problem without having to tend to other details. VisLab has developed GOLD to give programmers such a tool. GOLD includes APIs for common tasks such as I/O operations (acquisition from cameras and other sensors, sensor synchronization, network and file management, data graphical display, and so on) and low-level image-processing functions. A user-friendly GUI supports programming (see figure 1).We originally conceived GOLD as the main engine to detect lanes and obstacles on board the Argo autonomous vehicle. 2 After 15 years of continuous R&D, GOLD has evolved into a framework aimed at providing a complete set of tools for fast development of computer-vision applications. Moreover, GOLD runs the final onboard system. In spite of this complex functionality, GOLD's user-friendly GUI manages all the system applications. For example, you can visualize the data coming from different sensors, such as a stereo camera system or a laser scanner. Figure 2a The GOLD architecture Figure 3 shows the GOLD architecture and components. We conceived the architecture to ensure scalability and independence among the components. The whole system comprises several subsystem layers, which provide the different functionalities to developers. A cleanly defined interface makes it easy to add or remove subsystems, depending on the target project's specific needs. The framework views all applications as plug-ins that developers can easily remove or connect independently and port to different platforms.The hardware abstraction layers mask the input device complexities from the programmer.Developers can also easily produce highly interactive, consistent user interfaces through a set of widgets specifi- I n t e l l i g e n t T r a n s p o r t a t i o n S y s t e m s