LIP (Lua Image processor) is an open source Image Processing library, or better, a simple application able to analyze and elaborate image and sequences of images using LUA as scripting language. Written in C/C++, it is cross-platform (Unix / Linux, Windows) and robust.
LIP uses FreeImage to load image and FreeType to draw text, but several Image Processing algorithm are built-in application.
Using LIP can you create various application, like thumbnail for your web site, a set of visual effects for photo, and so on.

Why LUA (and Pawn/SmallC)?
According to benchmark LUA is the fastest interpreted object oriented language.
Pawn/SmallC is less common than LUA and does not have a lot of feature (object oriented, string and so on), but it is faster then LUA.
LUA is the right choice for standard application and the development on this architecture is suggested. Pawn maybe choose in time-critical application requiring scripting support.

Main Features

  • Can read and write up to 30 image formats (thank to FreeImage): BMP, GIF, JPEG, PNG, PPM, TGA, TIF and others
  • Support for 8-bits to 16-bits depth images.
  • Built-in image processing algorithms (filtering, morphological mathematics, labelling, color conversion, and so on)
  • very easy to use (LUA based) and can used to boost productivity, testing processing before implement in hardware.


  • Developing xStream C++ library to access images from different source (file,memory,socket,http,ftp etc)
  • Developing YAIL (Yet Another Image Library) to simplify management of images. It is written in c++ without using of RTTI and exception. Multithread if required.
  • Developing IPL (Image Processing Library) to elaborate images


  • Binding with OpenCV to elaborate images is evaluated. Why any libriaries have their own Image struct?
  • Binding with libdc1934 and V4L2 or UniCAP (Linux)
  • Moving to LuaJIT

Application examples

4 jan 2010
LIP 0.4.3 is released. Linux sources tarball are ready. Version 0.4.3 compiles under *nix systems using CMAKE. The window binary version links with last FreeImage release (3.13.1).

8 mar 2007
LIP 0.4.2 is released. See change log for changes.

26 nov 2006
LIP 0.4 is released. A lot of new feature: new Image Processing algorithms, Window object, Profiling and so on. See change log for details

19 nov 2006
LIP 0.3 is released. GUI image output, examples, pixel and line. See Change Log for minor changes.

16 nov 2006
LIP 0.2.2 is released. LIP 0.2 had a several bugs and release of LIP was anticipated with this pre-version. LIP 0.2.2 contains a lot of feature that will be full implemented in LIP 0.3, than can be considered as 0.3-rc1.

10 nov 2006
LIP 0.2 has been released. A simple Notepad~Like environment permit to load script, modify, and execute.

5 nov 2006
Actually Pawn/SmallC Image Processor is discontinued.

Similar Projects:
Lua-GD: a GD LUA Bind
IM: Image Representation, Storage, Capture and Processing
GLUAS: a GIMP plugin

External Link:
PMx My official webSite
My working place website


© 2005-2010 Paolo Medici. All Rights Reserved