Surfaces of industrial parts need to be specified on the basis of their use and application environment. Hence, surface characterization is vital for design, manufacturing and inspection. Furthermore, the development of new industries has led to a requirement for super-smooth surfaces and for the ability to measure such surfaces accurately; therefore, the measurement of engineering surface roughness is becoming increasingly important. Many methods of measuring surface finish have been developed ranging from the simple touch comparator to sophisticated optical techniques (light scattering). The latest technology for measuring surface roughness is the computer vision systems. Unlike the stylus instruments, the optical techniques and computer vision systems have the advantages of being non-contact and are capable of measuring an area from the surface rather than a single line. This paper introduces a new technique to capture an image for a surface and then to extract the roughness heights from the captured image. A set-up consists of a charge-coupled device (CCD) video colour camera, a frame grabber, IBM-compatible PC and a microscope used to capture the images. The images were stored using the bitmap image file format (BMP). A program was written in Visual C++ to convert the captured colour images into grey scale images and then to extract the grey level for each pixel and to store it into a two-dimensional array sized to the image width and the image length. The program is capable of reading six different image file formats: these are BMP, TIFF, GIF, PCX, JPG and WMF. The grey levels range between 0 and 255. The grey level 0 represents the black colour, which represents the minimum height in the image, and the grey level 255 represents the white colour, which represents the maximum height in the image. The grey levels between 0 and 255 represent different heights according to their grey level values. After extraction of the grey levels from the image, a three-dimensional view is displayed to view the topography of the surface. The three-dimensional view can be displayed, virtually, from any point of view using the same basics as those of three-dimensional computer aided design (CAD) systems. From the three-dimensional surface topography it is easy to assess any scratches or cracks in the surface. The developed software works independently and does not need any other software. The package includes the unique feature of calculating a multitude of surface roughness parameters (59 in all) that have not been included in any other package hitherto.