CVIeditor: the Computer Vision based Image Editor
This project aims to produce a modern digital image editing package in Java. The image editor will automate many of the tasks that are currently tedious to perform with the existing generation of image editors and to allow users to use some of the advanced functionality available from computer vision. The image editor is fundamentally region based with candidate region provision being given by the image processing developed for the image retrieval side of the project. The drawing tools with in the editor are fully scriptable and the resulting drawn elements are fully interactively editable.
Software structureThe central core of the image editor is based on a standard command pattern. Image editing utilities are written as plugin tools that implement execute, undo and redo methods and handle exceptions is a consistent manner. The system has been implemented in such a way as to make it straightforward for users to write their own utilities, taking advantage of modern IDEs for Java (like Forte).
Existing FunctionalityThe functionality currently implemented in the image editor is outlined below.
- Thumbnail file selection and browsing
Screen shot of the file chooser from CVIeditor.
- Radial distortion correction. It is often necessary to correct for radial distortion before more sophisticated algorithms may be applied to an image, e.g. mosaicing or any form of projective reconstruction.
Original, the towers of Kings College chapel are not in fact banana shaped but merely appear so as a result of spherical aboration in the lens of the camera used to take the picture.
Radial distortion ameliorated.
- Arbitrary perspective distortion
Arbitrary perspective distortions may be introduced to give an effective change in view point.
- Automated candidate region map provision. The image segmentation scheme developed for the image retrieval side of this project is deployed to give good candidate regions that may be selected with minimal user effort. Regions once selected may of course be interactively edited.
Dress region selected
- Region colour change. Any form of colour mapping may be performed on a selected region.
Here the dress region has been turned white while leaving the shading information, the dress could have been changed to another colour, e.g. blue, or yellow. It would be possible to automatically correct for the `colour bleeding' that occurs at the boundaries of neighbouring coloured regions (visible above).
- Fully editable air-brush tool. This is implemented as a spline backed path where the colour and alpha profile of the brush can be interactively set at the control points of the spline.
Envisaged FunctionalityThe are three main blocks of functionality that remain to be written,
- Local morphing. Local shape change is required to allow a cut out region to be seamlessly inserted into an existing image.
- Image modifiers. These are a class of spatial operator that would for example allow an extra fold to be added to a piece of cloth by introducing a shadow profile into the local brightness function.
- Text. It must be possible to write with a large range of fonts onto an image.
Copyright © 2002 AT&T Laboratories Cambridge