I've been working on implementing the technique from the paper "Designing look-and-feel using generalized crosshatching" which can be found at: http://dl.acm.org/citation.cfm?id=3085054
The paper uses triplanar texture mapping to put tilable "line shading" style textures onto 3d rendered models.
It uses the brightness of the pixel to select which texture to use, where it has source textures of varying brightness levels like in the image below.
The key part of our approach is a texture synthesis algorithm that can construct on average constant color crosshatching textures from a single crosshatching image that can be hand-drawn by artists
It then explains that it takes that constant color texture and applies dilation and erosion filters to obtain the darker and lighter versions of the (greyscale) texture.
My question is this: Let's say that you have a greyscale image of an artist drawing some cross hatching on a white piece of paper using a pencil. How would you convert that image to be constant average color or brightness?
The only other relevant info from the paper seems to be this:
Our texture synthesis algorithm is an extremely simple nonstationary convolution filter that consists of two stages as follows: (1) For every pixel, compute the average color in a region around the pixel where the shape of the region and weights are controlled by a user-defined kernel. (2) If the color of the region is darker than the goal color, make the color of the pixel lighter; or otherwise darker
That information is a bit sparse, and doesn't explain how much lighter or darker you should make a pixel. It's also a bit ambiguous to me whether they are talking about the process that makes the image constant color, or if they are talking about the process that makes lighter or darker versions of the constant color source texture.