Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

python

How to retain the kth rank pixel of an image in Python

Ravi

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

The PIL library

In Python, PIL (Pillow) or Python Imaging Library is an image processing library. This library supports a wide range of file formats. It is designed for an efficient internal representation of image data. Moreover, it provides powerful image processing capabilities.

The ImageFilter module

The ImageFilter module in PIL contains definitions for a pre-defined set of filters used for different purposes.

The RankFilter class

The RankFilter class is used to create a rank filter. A rank filter is a type of filter that sorts all pixels in a window of the given size and returns the given rank’s value.

Syntax

PIL.ImageFilter.RankFilter(size, rank)

Parameter

  • size: This is the kernel size.
  • rank: This is the pixel to return. With different values for rank, we get different filters. For example, with rank as 0 we get a min filter. Similarly, with rank as size * size / 2, we get a median filter, and so on.

Example

from PIL import Image, ImageFilter

img = Image.open("man.png")

size = 3
rank = size * size - 1

new_img = img.filter(ImageFilter.RankFilter(size = size, rank = rank))

new_img.save("new_man.png")

Explanation

  • Line 1: We import the ImageFilter and Image modules.
  • Line 3: We use open() in Image to read module man.png into memory .
  • Line 5: We define the size of the kernel, size.
  • Line 6: We define the rank of the pixel to be chosen, rank.
  • Line 8: We apply RankFilter on the image loaded in Line 3.
  • Line 10: We save the new image to disk.

RELATED TAGS

python

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring