Some image producing devices such as commercially-available multifunctional printer (MFPs) are provided with image processing capabilities including image adjustment features that are initiated by a user, or that receive and process inputs provided by the user. For example, some MFPs allow users to erase a border or selected edges of a scanned image, resulting in a smaller image that is rectangular in shape.
Image producing devices that can only generate rectangular images are not always well suited for reproducing images of objects that are irregular in shape. For example, a user may wish to photocopy a particular object in an image but to change or eliminate portions of the image around the object. One solution is to manually cut a border of a certain shape before making copies. This is tedious, error-prone, and potentially destroys the original for other uses. Another solution is to scan the image to create an image file, edit the image at a personal computer, workstation, etc., and then send a print job (containing edited image information) to a printer for printing.
It would be desirable to be able to provide users of image producing devices with a way to generate modified images without irreversibly damaging source materials, or without having to use (and, in some instances, waste time locating and/or learning how to use) additional equipment such as a scanner and a computer with image editing capabilities. It would also be desirable to be able to provide a “stand alone” image producing device with flexible image editing capabilities which are accessible via a simple, user-friendly interface.
Detailed description of embodiments of the invention will be made with reference to the accompanying drawings:
The following is a detailed description for carrying out the invention. This description is not to be taken in a limiting sense, but is made merely for the purpose of illustrating the general principles of the invention.
In an example embodiment, the present invention involves providing an image producing device with image editing functionality that allows a user of the image producing device to select a non-rectangular image masking boundary from a menu of different image masking boundaries. The image producing device (e.g., a digital copier) uses the non-rectangular image masking boundary to identify, within an image, the bounds of a non-rectangular region that is to be presented (e.g., copied) by the image producing device. The image masking boundary also serves to define a portion of the image (e.g., outside of the image masking boundary) that is to be discarded, occluded or modified in some fashion.
The principles of the present invention are applicable to printers, multifunctional printers (MFPs), copiers (e.g., monochrome or color digital copiers), or any other type of image producing device. The principles of the present invention are applicable to devices with the capability to scan an image into a memory device, manipulate or edit the image digitally, and then print the resulting modified image on paper or some other form of print media. By way of example, the principles of the present invention are applicable to mid-range or high-end color copiers, as well as monochrome and lower-end multi-function peripheral devices.
Referring to
In this example, the touch screen interface 202 also includes an image masking boundary modification interface 218 which includes input fields that are selectable by touching appropriate portions of the image masking boundary modification interface 218. In this example embodiment, the image masking boundary modification interface 218 is controlled to display edge distance input fields 220, 222, 224 and 226 which allow a user to enter top, bottom, left and right edge distances, respectively, and an “all edges the same” input field 228 which allows a user to designate that all edge distances are to be the same. In this example, the image masking boundary modification interface 218 is also controlled to display an increase edge distance input field 230, a decrease edge distance input field 232 and a select edge distance dimensions input field 234. In this example, the image masking boundary modification interface 218 is controlled to allow a user to input numeric values into the edge distance input fields 220, 222, 224 and 226 using the numeric keypad 204, the increase edge distance input field 230, the decrease edge distance input field 232, or any combination of these user input mechanisms. It should be understood, however, that mechanisms for modifying an image masking boundary are not limited to touch screen interfaces or keypads.
By way of example, and referring also to
Thus, according to an example embodiment of the present invention, an apparatus for presenting an image includes a mechanism for selecting an image masking boundary with a non-rectangular shape from a plurality of differently shaped image masking boundaries and for modifying the image masking boundary, and an image producing device configured to apply the image masking boundary to an image to generate a masked image. By way of example, the mechanism for selecting can be provided through a user interface of the image producing device. Alternatively, the mechanism for selecting can be remotely located relative to the image producing device. The image producing device can be configured to generate the masked image by modifying a portion of the image that is outside the image masking boundary. For example, the portion of the image that is outside the image masking boundary can be occluded. Also by way of example, the portion of the image that is outside the image masking boundary can be generated to include pixels that are substantially uniform in color (e.g., white or black). The apparatus for presenting an image can also include a mechanism for scaling the image, a mechanism for scaling the image masking boundary, and/or a mechanism for repositioning the image masking boundary in relation to the image.
In another example embodiment, a method for presenting an image includes providing, to an image producing device, an image masking boundary that was selected by a user of the image producing device from a plurality of differently shaped image masking boundaries, and generating a masked image with the image producing device by applying the image masking boundary to an image and modifying a portion of the image that is outside the image masking boundary. The step of generating the masked image can include one or more of: fitting the image to the image masking boundary, scaling the image to fit within the image masking boundary, scaling the image to fill the image masking boundary, and scaling the image masking boundary. Fitting the image to the image masking boundary results in at least part of the image being bounded by the image masking boundary. Fitting the image to the image masking boundary can, but does not necessarily, result in the entire image being fitted within the image masking boundary. Scaling the image to fit within the image masking boundary results in an image that is sufficiently small in size to completely fit within the image masking boundary. Scaling the image to fill the image masking boundary results in an image that is sufficiently large in size to completely fill the image masking boundary. Scaling the image masking boundary means increasing or decreasing the size of the image masking boundary.
With respect to processing, in an example embodiment, the image producing device 100 determines or is provided with (e.g., from the user inputs or data stored in the memory device 104): size of source media, page width (X) and height (Y); image masking boundary shape and edge borders, Top (T), Bottom (B), Left (L), and Right (R); center point (C) and shape width (W) and height (H) (assuming origin (0, 0) at top left), wherein
W=X−L−R
H=Y−T−B
C=((L+(W/2)), (T+(H/2))).
Some aspects of shape generation for the image masking boundary can be provided by default parameters, by way of example, corner radius for rounded rectangles, number of points, depth, and angles for starbursts, number and radius of scallops for clouds, etc. In this example, the processor 102 is configured to compute the shape boundary using W, H, and default shape parameters, and a formula defined for each shape. The shape boundary is used to create a “mask” image in memory containing, for example, white or black pixels to define the part of the image to be erased. In this example, the image producing device 100 scans the original page and saves the image data to memory, the original image is combined with the mask image using Boolean logic (AND/OR) to create a copy image, with the proper border pixels erased (depending upon either default settings or using specified edge sizes), and the copy image is printed on the desired piece of media.
In various embodiments of the present invention, a selected image masking boundary can be modified in ways that are more complex than up-scaling (increasing in size), down-scaling (decreasing in size), or offsetting in position. For example, an image masking boundary can be rotated, anamorphically compressed or expanded, or scaled in a nonlinear fashion. Also by way of example, an image masking boundary can be scaled along one axis (e.g., along the scan direction), but not along the axis orthogonal thereto (e.g., along the feed direction), or vice versa.
Generally, boundary formulas are used to define the image masking boundaries and to determine whether pixels in an image area to which a particular image masking boundary is to be applied are inside or outside of the image masking boundary. For example, bitmap masks for each shape are pre-stored on a memory device accessible to the image producing device 100 and, more specifically, to the processor 102. The pre-stored bitmap masks for each shape can be for a particular size of target media (e.g., 4″×6″ page size), and then scaled as appropriate for other target media sizes. Bitmap masks (whether pre-stored or otherwise) provide a mechanism for applying the image masking boundary to an image to generate a masked image. Thus, according to an example embodiment of the present invention, an apparatus for presenting an image includes a user interface configured to allow a user of an image producing device to select an image masking boundary with a non-rectangular shape from a plurality of differently shaped image masking boundaries, and to modify the image masking boundary, and a mechanism for applying the image masking boundary to an image to generate a masked image. In an example embodiment of the present invention, the masking is performed on different portions of the image at different times (e.g., one line at a time), rather than on the entire image at once.
According to an example embodiment of the present invention, an apparatus for presenting an image includes an image producing device, a user interface, and a processor configured to control the user interface to allow a user of the image producing device to select an image masking boundary with a non-rectangular shape from a plurality of differently shaped image masking boundaries and to modify the image masking boundary, and determine data for a masked image to be generated by the image producing device by applying the image masking boundary to an image and modifying a portion of the image that is outside the image masking boundary.
According to another example embodiment of the present invention, a method for presenting an image includes providing, to an image producing device, an image masking boundary that is non-rectangular in shape, and generating a masked image with the image producing device by applying the image masking boundary to an image and modifying a portion of the image that is outside the image masking boundary.
According to an example embodiment of the present invention, a method for presenting an image includes selecting an image masking boundary with a non-rectangular shape from a plurality of differently shaped image masking boundaries, modifying the image masking boundary, and initiating an image processing operation to be performed by an image processing device using the image masking boundary as an input. The step of modifying the image masking boundary can include providing a boundary adjustment input at a user interface mechanism that is operatively connected to the image producing device. The image processing operation can include applying the image masking boundary to an image and modifying a portion of the image that is outside the image masking boundary to generate a masked image.
According to an example embodiment of the present invention, a method for presenting an image includes providing access to a machine-readable program that, when executed, enables a processor to control a user input mechanism to allow a user of an image producing device to select an image masking boundary with a non-rectangular shape from a plurality of differently shaped image masking boundaries and to modify the image masking boundary, and process an image using the image masking boundary to generate a masked image. For example, the machine-readable program enables the processor to control the user input mechanism to allow the user of the image producing device to scale the image, to scale the image masking boundary, and/or to reposition the image masking boundary in relation to the image. Also by way of example, the machine-readable program enables the processor to generate the masked image by applying the image masking boundary to the image and modifying a portion of the image that is outside the image masking boundary.
According to an example embodiment of the present invention, an apparatus for presenting an image includes a memory device upon which is stored a machine-readable program that, when executed, enables a processor to control a user input mechanism to allow a user of an image producing device to select an image masking boundary with a non-rectangular shape from a plurality of differently shaped image masking boundaries and to modify the image masking boundary, and process an image using the image masking boundary to generate a masked image. For example, the machine-readable program enables the processor to control the user input mechanism to allow the user of the image producing device to scale the image, to scale the image masking boundary, and/or to reposition the image masking boundary in relation to the image. Also by way of example, the machine-readable program enables the processor to generate the masked image by applying the image masking boundary to the image and modifying a portion of the image that is outside the image masking boundary.
It should further be appreciated that the principles of the present invention are also suitable for implementation via a user interface that has fewer display lines that the user interface shown in
In an example embodiment illustrated in
Referring to
Referring to
Although the present invention has been described in terms of the example embodiments above, numerous modifications and/or additions to the above-described embodiments would be readily apparent to one skilled in the art. It is intended that the scope of the present invention extends to all such modifications and/or additions.