TWAIN is scanning protocol which was initially used for Microsoft Windows and Apple Macintosh computer operating systems, and it added Linux/Unix support since version 2.0. The first release was at 1992. It was designed being an interface between image processing software and scanners or digital cameras.
It has three crucial elements, the application software, the Source Manager software and the Data Source software. The Source Manager Interface which is available from TWAIN allows your application to control data sources, such as scanners and cameras, and acquire pictures.