iki.fi/o

Raster!

Created by Olli Niemitalo on 2010-09-06, last modified 2011-11-14

2010-09-06

I have a problem with the halftone patterns that have recently become fashionable: They are not made correctly. For example, have a look at this detail from an image made using Rasterbator (v1.2 or earlier):

Rasterbated image, detail

Or any of these random examples from various sources:

What you see in each case is a matrix of perfect circles. What this means is that the sizes of the circles are the only degrees of freedom. Considering the number of circles, the rasterized image cannot convey any more information than an image that has the same number of gray-scale pixels. So effectively what Rasterbator does is it resamples the original image to the size of the matrix of circles, and then determines the sizes of the circles based on the gray-scale values of the pixels. If the original image is of greater detail than the resampled one, those details are lost in the process. But they need not be, if a different process is used.

First, choose a halftone pattern. This would normally be a self-repeating (tiled) grey-scale pattern. The requirements are that the pattern contains a full range of grey-scale values from black to white and that different intensities are equally represented. Second, superimpose the halftone pattern and the original image, at the same pixel resolution, and for each pixel, if the original image has a brighter gray-scale value than the halftone pattern, set the value of the pixel in the rasterized image to white. Otherwise set it to black.

The process can be simulated in an image processing program. First of all, one should ensure that all processing is carried out in linear-intensity space, that is, at gamma 1.0. Equal representation of intensities in the halftone pattern can be enforced by equalization. To do the rasterization, one can negate the halftone pattern, adjust the opacity of the top one of the two layers to 0.5 and flatten the image, then apply a threshold or posterization effect that sets pixel values to white if they are of greater intensity than 0.5, or to black, otherwise.

Here are some examples on how different halftone patterns can look when (more-or-less) correctly applied to an image:

Kekkonen with a sinusoidal halftone pattern

Kekkonen with honeycomb halftone pattern

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress