Color-Space CAD - stony brook cs - Stony Brook University

10 downloads 96316 Views 499KB Size Report
Adobe PhotoshopCSTM plug-in, ... Adobe Systems Inc. for providing us the necessary developer's. SDK. ... transfer colors based on the basic color categories.
Color-Space CAD Neophytos Neophytou Center for Visual Computing, Stony Brook University [email protected] 1.

Introduction

Klaus Mueller Center for Visual Computing, Stony Brook University [email protected]

We have adapted the transformation process to a GPU hardware accelerated algorithm that yields about two orders of magnitude of In this sketch we propose a new paradigm for interactive image speedup over a cache-optimized software implementation. The processing, which represents and manipulates the range of colors accelerated method uses distance cube-maps to encode the colorin an image region as a convex 3D object in the color-space gamuts that were initially represented as polygonal hulls. Thus, all domain. For this purpose, we use a transformation that converts the the ray-polyhedra intersections required by the transformation procolor-gamut of an image region into a possibly entirely different cess for every image pixel are reduced to simple cube-map looktarget gamut and define a toolset that enables the user to interacups. This enables interactive color-space manipulation even on tively “sculpt” the image’s colorNVidia GeforceFX processors. space. These capabilities are made The Color-Space CAD plug-in accessible in Color-Space CAD, a Esrc includes components to visualize Adobe PhotoshopCSTM plug-in, Psrc and manipulate the Color ranges as Csrc which provides a 3D design inter- Gamut library Source Gamut solid shapes in L*a*b* space, and an face where users manipulate the Show transform image preview window to provide color-space by directly operating for selected pixel real-time feedback. It is invoked by on the color gamut of an image Reference Gamut Editor Eref Photoshop after the user defines the region with a set of CAD-like Pref Cref selection using advanced tools such operators. Finally, with interactivas color-range, magnetic lasso, etc., ity being key for any creative artisthat result into a selection mask with tic process to take place, we make anti-aliased boundaries. ample use of graphics hardware to Source wireframe Image Preview The plug-in’s interface provides a accelerate all of the compute-intenvery simple way to transfer colors sive mapping operations. between different images by using Gamut correction techniques the Gamut Library feature (top left have been previously used in coloImg used to import Reference Gamut Img selection currently in Color-space CAD in Fig. 1) or to directly edit the rimetry. An overview is provided selected image gamut. Basic editing Figure 1: Annotated screenshot of Color-Space CAD in in [Braun and Fairchild 1999]. support includes translation (to shift action. In the above scenario, the strawberry image is first Another application related to our along luminance or chroma direcimported into the gamut library. We then select the two flowwork is Primatte [Imagica 2006], tion), resizing (to enhance or reduce ers in the water-lilly image and call the Color-Space CAD which uses a 3D solid representadynamic range along arbitrary direcplug-in. After selecting an imported image by browsing the tion of the RGB color-space to tions), and rotation (to better align library (top left), we edit the imported gamut in the Referachieve background replacement. gamuts of different shapes or orienence Gamut Editor. Finally, the window in the top right illus2. Method tations). As sometimes color transtrates the transformation process for a selected pixel. The Color Range of a particular fers between arbitrary images might region within the image is found by first converting the colors of cause quantization artifacts, especially when the two gamuts differ all pixels in that region into points in the L*a*b* space, followed significantly in shape or orientation, the Automatic Gamut alignby the creation of their enclosing 3D convex hull. It has been ment function performs Principal Component Analysis (PCA) on shown that the spatial relationships between different colors in the both gamuts and rotates them to match their orientations. L*a*b* color-space are more intuitive to human observers, and Acknowledgements therefore, manipulations on the color objects in this space are quite We would like to thank Odaly Cruz for her artistic input, and straight-forward to the user. The Transformation process, also Adobe Systems Inc. for providing us the necessary developer’s used in [Chang et al. 2003] converts all the colors of the source SDK. This research was supported, in part, by NIH grant color gamut such that they will fit as a group into the target (or ref5R21EB004099-02 and NSF-CAREER grant ACI-0093157. erence) color gamut. For every point P src we intersect the ray passing through the center C src of the source gamut, with the edge References at point E src . The converted point P ref is then located inside the BRAUN,G. J., AND FAIRCHILD, M. D. 1999. General purpose gamut target gamut along the same direction-ray passing through the cenmapping algorithms: Evaluation of contrast preserving rescaling ter C ref of the target gamut at the analogous distance between the functions for color gamut mapping. In IS&T/SID Color Imaging Conference, pp. 167–172. center and the intersection E ref with the gamut edge, as shown in Fig. 1 (top right). CHANG, Y., SAITO, S., AND NAKAJIMA, M., 2003. A framework for transfer colors based on the basic color categories. In proc. Com3. Implementation and Features puter Graphics International 2003, Tokyo, Japan, 176 – 181. The above method requires considerable amounts of computaIMAGICA CORP. OF AMERICA, 2006. Primatte White Papers. tion, especially for traversing and finding the intersection points Webpage: http://primatte.com/p_whitepapers.cfm E src and E ref on the edges of the source and reference gamuts.