Image Processing

All image processing for this project is done using Matlab scripts that generate data that is compatible with our printer. The printer can only produce prints of binary images which are images consisting of either black or white pixels. We currently have two methods for generating binary images.

Method #1 - Threshold

This method is fairly simple, all we do is convert an image to grayscale and assign each pixel in the image as either a marker dot or a blank space depending on its gray value when compared with a predefined threshold value. For most prints we chose a threshold of around 127 because it is about half of 255 but in general our chosen threshold depended on the image we were trying to process. This image processing technique works best with images that are already very close to being binary images or images with a lot of contrast.

Method #2 - Simulated Grays

This method is more complex and requires a higher resolution to achieve good results. The method works by evaluating the image in 3x3 square portions, calculating the average value of that portion, then assigning a pre-defined binary pattern dependent on the value of that average. This method is more general purpose than threshold and captures more detail. It is able to produce 10 different simulated shades of gray which adds shading detail to our prints.

The 10 patterns corresponding to the 10 shades we are able to produce