In this thesis an object oriented model is proposed that satisfies the requirements for a generic, customisable, reusable and flexible machine vision framework. These requirements are identified as being: ease of customisation for a particular application domain; independence from image definition; independence from shape representation scheme; ability to add new domain specific shape descriptors; independence from implemented machine vision algorithms; and the ability to maximise reuse of the generic framework. The thesis begins with a review of key machine vision functions and traditional architectures. In particular, machine vision architectures predicated on a process oriented framework are examined in detail and evaluated against the criteria stated above. An object oriented model is developed within the thesis, identifying the key classes underlying the machine vision domain. The responsibilities of these classes, and the relationships between them, are analysed in the context of high level machine vision tasks, for example object recognition. This object oriented approach is then contrasted with the more traditional process oriented approach. The object oriented model and framework is subsequently evaluated through a customisation, to illustrate an example machine vision application, namely Surface Mounted Electronic Assembly inspection. The object oriented model is also evaluated in the context of two functional machine vision applications described in literature. The model developed in this thesis incorporates the fundamental object oriented concepts of abstraction, encapsulation, inheritance and polymorphism. The results show that an object oriented approach does achieve the requirements for a generic, customisable, reusable and flexible machine vision framework.