This section contains an example application, Sampler, that demonstrates all of the image operators that are discussed in the remainder of the chapter. Sampler provides a palette of image operators and performs them on an image loaded from a file. You can specify this file on the command line. If you don't specify the file, a default will be loaded. The application displays two windows, as shown in Figure 15.11. As you select image operations from the list, they are performed on the image in the window on the right. Don't be surprised if some of the operations take a few seconds to complete. To see the effects of the operation, click and drag the mouse in the image window. This adjusts a white line that divides the processed image from the original.
If you want to perform operations cumulatively, check off the Accumulate checkbox. In Figure 15.11, for example, the original image has been processed by a thresholding operation followed by an edge detection operation. I'll talk about these operations, and others, in the coming sections.
This example consists of two classes: Sampler and SplitImageComponent. It also uses the methods from Utilities, presented at the end of Chapter 9.
SplitImageComponent displays the original image and the processed image, separated by a white vertical line. It responds to mouse events by adjusting the location of the split between the two images. The window on the right side of Figure 15.11 contains a SplitImageComponent.