Reformatting Images for Printer Output

Joy Ku and Angela Hodge

Psychology 221 / EE 362

Winter 1997

Overview

The goal of many printer systems today is to produce a printout that is pleasing to the viewer. This is a very subjective measurement of success, but we can attempt to quantify this by using a calibrated set of color values (actually, an XYZ color space) that all peripherals (scanners, monitors, printers) try to recreate or produce as their output. In our case, we are trying to produce a printout of a resized image that matches what the users see on their monitor.

We receive an RGB image that has been calibrated for the user's monitor. The individual R, G, B matrices are resized according to the user-specified method: either using bilinear interpolation or pixel replication. This is then converted into XYZ space using the monitor transformation matrix. Right now, this transformation matrix is only specified for the average monitor in the ISE laboratory.

The XYZ coordinates are then converted into a CMYK value, based on what printer the user wants to print to. A tone reproduction calibration is then performed, converting the CMYK values to new CMYK values based on the halftone scheme that is being used.

The output of the program is a stream of characters, representing CMYK values for the image pixels. This can be piped to the next process, which will create a postscript file of the image with the appropriate halftone method.

The user interface is a form on the Web. The program behind this interface also controls the flow of data between the different processes. You can view a prototype of this user interface by clicking here.

Each component of this project is described in more detail below......

Project Methods and Results

  • Resizing Image
  • Printer Calibration
  • Tone Reproduction Calibration
  • The Actual Code!
  • Conclusion

  • Issues Remaining and Future Plans


  • previous home next