Image embossing

From HandWiki
An embossed image comparison.

Image embossing is a computer graphics technique in which each pixel of an image is replaced either by a highlight or a shadow, depending on light/dark boundaries on the original image. Low contrast areas are replaced by a gray background. The filtered image will represent the rate of color change at each location of the original image. Applying an embossing filter to an image often results in an image resembling a paper or metal embossing of the original image, hence the name.

Technical details

The emboss filter, also called a directional difference filter,[1] will enhance edges in the direction of the selected convolution mask(s). When the emboss filter is applied, the filter matrix is in convolution calculation with the same square area on the original image. So it involves a large amount of calculation when either the image size or the emboss filter mask dimension is large. The emboss filter repeats the calculation as encoded in the filter matrix for every pixel in the image; the procedure itself compares the neighboring pixels on the image, leaving a mark where a sharp change in pixel value is detected. In this way, the marks form a line following an object's contour. The process yields an embossed image with edges highlighted.

Four primary emboss filter masks are:

[math]\displaystyle{ \left( \begin{array}{rrr} 0 & +1 & 0 \\ 0 & 0 & 0 \\ 0 & -1 & 0 \end{array} \right) }[/math]

[math]\displaystyle{ \left( \begin{array}{rrr} +1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & -1 \end{array} \right) }[/math]

[math]\displaystyle{ \left( \begin{array}{rrr} 0 & 0 & 0 \\ +1 & 0 & -1 \\ 0 & 0 & 0 \end{array} \right) }[/math]

[math]\displaystyle{ \left( \begin{array}{rrr} 0 & 0 & +1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \end{array} \right) }[/math]

According to the need to enhance edge details from different directions, we can also rotate the emboss filter masks, such as:

[math]\displaystyle{ \left( \begin{array}{rrr} -1& 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & +1 \end{array} \right) }[/math]

[math]\displaystyle{ \left( \begin{array}{rrr} 0 & 0 & -1 \\ 0 & 0 & 0 \\ +1 & 0 & 0 \end{array} \right) }[/math]

To control the depth of edges, we can enlarge the emboss filter masks, such as:

[math]\displaystyle{ \left( \begin{array}{rrrrr} +1 & 0 & 0 & 0 & 0 \\ 0 & +1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & 0 & -1 \\ \end{array} \right) }[/math]

Example

Two different emboss filters are applied to the original photo. Image (a) is the result of a 5×5 filter with the +1 and -1 in the horizontal direction, which emphasizes vertical lines. Image (b) is the result of a 5×5 filter with the +1 and -1 in the vertical direction; it emphasizes horizontal lines. Since the entries of a given emboss filter matrix sum to zero, the output image has an almost completely black background, with only the edges visible. Adding a 128 value of brightness (half the 0-255 range) to each pixel creates the final, displayed images with grey-toned backgrounds:

Sample photo with horizontal and vertical embossing
Original image
Image (a): horizontal emboss
Image (b):vertical emboss


See also

References

  1. "Computer imaging: Digital image analysis and processing (Second ed.)" by Scott E Umbaugh, ISBN:978-1-4398-0206-9(2010)

External links