**Piece-wise Linear Transformation** is type of gray level transformation that is used for image enhancement. It is a spatial domain method. It is used for manipulation of an image so that the result is more suitable than the original for a specific application.

Some commonly used piece-wise linear transformations are:

**Contrast Stretching:**

Low contrast image occur often due to improper illumination or non-linearly or small dynamic range of an imaging sensor. It increases the dynamic range of grey levels in the image.

Contrast Stretching Transform is given by:

S = l.r, 0 <= r < a S = m.(r-a) + v, a <= r < b S = n.(r-b) + w, b <= r < L-1 where l, m, n are slopes

**Clipping:**

A special case of contrast stretching is clipping where l=n=0. It is used for noise reduction when the input signal is known. It puts all grey levels below r1 to black(0) and above r2 to white(1).

**Thresholding:**

Another special case of contrast stretching is thresholding where l=m=t. It is also used for noise reduction. It preserves the grey levels beyond r1.

**Grey level slicing:**

Highlighting a specific range of grey level in an image.

**Case-I:**

- To display a high value for all grey levels in the range of interest.
- To display a low value for all grey levels.

**Case-II:**

- Brighten the desired range og grey level.
- Preserve the background quality in the range.

**Bit Extraction:**

An 8-bit image can be represented in the form of bit plane. Each plane represents one bit of all pixel values. Bit plane 7 contains the most significant bit (MSB) and bit plane 0 contains least significant bit (LSB). The 4 MSB planes contains most of visually significant data. This technique is useful for image compression and steganography.

## Recommended Posts:

- 2D Transformation in Computer Graphics | Set 1 (Scaling of Objects)
- 2D Transformation | Rotation of objects
- Window to Viewport Transformation in Computer Graphics with Implementation
- Python | Intensity Transformation Operations on Images
- Perspective Transformation - Python OpenCV
- Log transformation of an image using Python and OpenCV
- Python OpenCV - Affine Transformation
- Overview of Data Structures | Set 1 (Linear Data Structures)
- Human Resource Management (HRM)
- Draw a triangle in C++ graphics
- Python - Displaying real time FPS at which webcam/video file is processed using OpenCV
- Difference between Multimedia and Animation
- How to Convert images to NumPy array?
- Various kinds of Aspect Ratios

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.