Game Development Reference
a better approach is to modify the stream line's parameter. To this end, the
fraction traveled on a half-circle with arc length L canbeconsideredfor θ k :
Δ L k =
If Δ L k is larger than the step size h , this indicates that the parameter of the
arc-length parameterized stream line moves too fast, such that a larger step size
is required, for which Δ L k is used:
u k +1 = u k +max( h, Δ L k ) .
The flow-guided smoothing discussed in the previous section is very aggressive. As
but transitions between color regions are smoothed as well. In order to obtain
filtering will be discussed.
5.4.1 PDE-Based Shock Filter
In image processing, shock filters were first studied by [Osher and Rudin 90]. The
classical shock filter evolution equation is given by
( u ) |∇
with initial condition u ( x, 0) = I ( x )andwhere
is a suitable detector, such as
the Laplacian Δ u or the second derivative in direction of the gradient. In the
influence zone of a maximum, L ( u ) is negative, and therefore a local dilation with
a disc as the structuring element is performed. Similarly, in the influence zone
of a minimum,
( u ) is positive, which results in local erosion. This sharpens the
edges at the zero-crossings of Δ u , as shown in Figure 5.11. Shock filters have the
attractive property of satisfying a maximum principle and, in contrast to unsharp
masking, therefore do not suffer from ringing artifacts.
Instead of the second derivative in the direction of the gradient, the second
derivative in the direction of the major eigenvector of the smoothed structure
tensor may be used. This was first proposed by [Weickert 03]. To achieve higher
robustness against small-scale image details, the input image can be regularized
with a Gaussian filter prior to second-derivative or structure-tensor computation.
Weickert's shock filter achieves excellent results in combination with the flow-
guided smoothing, but one limitation is its performance. The filter is typically
implemented using an explicit upwind scheme. In order to guarantee stability,
the time step size has to be small and multiple iterations have to be performed.