Abstract:
A method is provided for applying a blur to an image using a graphic processing unit (“GPU”). The method includes instructing the GPU to scale an image down from an original size; instructing the GPU to blur the scaled down image; and instructing the GPU to return the blurred image to the original size.
Abstract:
Various embodiments describe image sharpening techniques that automatically estimate a sharpening amount for an unsharp mask filter for image enhancement based upon a statistical correlation between detail coefficients at a first resolution and at a second resolution. In various embodiments, statistical deviation of absolute values of detail coefficients for both the image at full resolution and the image downsampled by a pre-determined factor, e.g. a factor of two (half resolution), are retrieved. In various embodiments, the statistical deviation is retrieved for a histogram of the image at the first resolution and a histogram of the image at the second resolution. The linear model between the statistical deviation of detail coefficients at the first resolution and the second resolution is used to calculate the sharpening amount and the unsharp mask filter is applied to the image to produce a sharpened image.
Abstract:
Methods and a processing device are provided for restoring pixels damaged by artifacts caused by dust, or other particles, entering a digital image capturing device. A user interface may be provided for a user to indicate an approximate location of an artifact appearing in a digital image. Dust attenuation may be estimated and an inverse transformation, based on the estimated dust attenuation, may be applied to damaged pixels in order to recover an estimate of the underlying digital image. One or many candidate source patch may be selected based on having smallest pixel distances, with respect to a target patch area. The damaged pixels included in the target patch area may be considered when calculating the pixel distance with respect to candidate source patches. RGB values of corresponding pixels of source patches may be used to restore the damaged pixels included in the target patch area.
Abstract:
Techniques for managing program applications include an application being managed having an object-oriented interface with objects having data and methods to change the data. Changing these objects and/or the data of the objects changes the outcome of the application. A hyper-text transfer protocol (HTTP) server, a server-side script engine, and a scheduling mechanism are embedded in the application, i.e., they are made part of, and therefore run on, the same programming process as the application. Tasks to be performed by the application, the HTTP server, and the script engine are scheduled. The HTTP server processes requests of HTTP clients, typically supplied via a Web browser, and forwards them to the script engine. The script engine, which has direct access to the application objects, interacts with the application being controlled. The HTTP server runs the script engine for the requested script and formats the resulting information being returned to the client.
Abstract:
Methods and systems for processing, e.g., non-destructively processing, digital image data utilizing vertically-oriented Effect graphs are provided. In non-destructive processing where and when data is transformed is fairly important, both in terms of quality and performance. The further down the vertically-oriented Effect graph a transformation occurs, the better. As such, methods for pushing transformations down an Effect graph to the lowest point possible and applying them at that point rather than the location at which they may have been placed are provided. Systems for implementing the methods herein disclosed are also provided.
Abstract:
A system, a method and computer-readable media for aggregating curves. An aggregated curve is generated by associating input values from a first curve with output values from a second curve. This aggregated curve may be used, for example, to apply multiple curve effects to a digital image.
Abstract:
A system, a method and computer-readable media for performing texture resampling algorithms on a processing device. A texture resampling algorithm is selected. This algorithm is decomposed into multiple one-dimensional transformations. Instructions for performing each of the one-dimensional transformations are communicated to a processing device, such as a GPU. The processing device may generate an output image by separately executing the instructions associated with each of the one-dimensional transformations.
Abstract:
Methods and systems for processing, e.g., non-destructively processing, digital image data utilizing vertically-oriented Effect graphs are provided. In non-destructive processing where and when data is transformed is fairly important, both in terms of quality and performance. The further down the vertically-oriented Effect graph a transformation occurs, the better. As such, methods for pushing transformations down an Effect graph to the lowest point possible and applying them at that point rather than the location at which they may have been placed are provided. Systems for implementing the methods herein disclosed are also provided.
Abstract:
Techniques for managing program applications are disclosed. In an embodiment, an application to be managed has an object-oriented interface that includes objects having data and procedures or methods to change the data. Changing these objects and/or the data of the objects changes the outcome of the application. A hyper-text transfer protocol (HTTP) server, a server-side script engine, and a scheduling mechanism are embedded in the application, i.e., they are made part of, and therefore run on, the same programming process as the application. Tasks to be performed by the application, the HTTP server, and the script engine are scheduled. The HTTP server processes requests of HTTP clients or management terminal and forwards them to the script engine. The script engine, which has direct access to the application objects, can interact with the application to be controlled. Typically, a user, through a web browser, connects to the HTTP server and loads the server script passing some parameters within the underlying HTTP request. The HTTP server runs the script engine for the requested script, which can access application data, manages its objects, performs action, retrieves data, formats the resulting information to be returned to the user interface, etc.
Abstract:
Ambiguous portions of an image which have fewer photons of a reflected light signal detected than required to determine depth can be classified as being dark (i.e., reflecting too few photons to derive depth) and/or far (i.e., beyond a range of a camera) based at least in part on expected depth and reflectivity values. Expected depth and reflectivity values for the ambiguous portions of the image may be determined by analyzing a model of an environment created by previously obtained images and depth and reflectivity values. The expected depth and reflectivity values may be compared to calibrated values for a depth sensing system to classify the ambiguous portions of the image as either dark or far based on the actual photon count detected for the image.