Jump into ltering IMAGE P ROCES S IN G IN P YTH ON Rebeca Gonzalez - - PowerPoint PPT Presentation

jump into ltering
SMART_READER_LITE
LIVE PREVIEW

Jump into ltering IMAGE P ROCES S IN G IN P YTH ON Rebeca Gonzalez - - PowerPoint PPT Presentation

Jump into ltering IMAGE P ROCES S IN G IN P YTH ON Rebeca Gonzalez Data Engineer Filters Enhancing an image Emphasize or remove features Smoothing Sharpening Edge detection IMAGE PROCESSING IN PYTHON Neighborhoods IMAGE PROCESSING IN


slide-1
SLIDE 1

Jump into ltering

IMAGE P ROCES S IN G IN P YTH ON

Rebeca Gonzalez

Data Engineer

slide-2
SLIDE 2

IMAGE PROCESSING IN PYTHON

Filters

Enhancing an image Emphasize or remove features Smoothing Sharpening Edge detection

slide-3
SLIDE 3

IMAGE PROCESSING IN PYTHON

Neighborhoods

slide-4
SLIDE 4

IMAGE PROCESSING IN PYTHON

Edge detection

slide-5
SLIDE 5

IMAGE PROCESSING IN PYTHON

Edge detection

slide-6
SLIDE 6

IMAGE PROCESSING IN PYTHON

Edge detection

Sobel

# Import module and function from skimage.filters import sobel # Apply edge detection filter edge_sobel = sobel(image_coins) # Show original and resulting image to compare plot_comparison(image_coins, edge_sobel, "Edge with Sobel")

slide-7
SLIDE 7

IMAGE PROCESSING IN PYTHON

Edge detection

Sobel

slide-8
SLIDE 8

IMAGE PROCESSING IN PYTHON

Comparing plots

def plot_comparison(original, filtered, title_filtered): fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(8, 6), sharex=True, sharey=True) ax1.imshow(original, cmap=plt.cm.gray) ax1.set_title('original') ax1.axis('off') ax2.imshow(filtered, cmap=plt.cm.gray) ax2.set_title(title_filtered) ax2.axis('off')

slide-9
SLIDE 9

IMAGE PROCESSING IN PYTHON

Gaussian smoothing

slide-10
SLIDE 10

IMAGE PROCESSING IN PYTHON

Gaussian smoothing

slide-11
SLIDE 11

IMAGE PROCESSING IN PYTHON

Gaussian smoothing

# Import the module and function from skimage.filters import gaussian # Apply edge detection filter gaussian_image = gaussian(amsterdam_pic, multichannel=True) # Show original and resulting image to compare plot_comparison(amsterdam_pic, gaussian_image, "Blurred with Gaussian filter")

slide-12
SLIDE 12

IMAGE PROCESSING IN PYTHON

Gaussian smoothing

slide-13
SLIDE 13

IMAGE PROCESSING IN PYTHON

Gaussian smoothing

slide-14
SLIDE 14

Let's practice!

IMAGE P ROCES S IN G IN P YTH ON

slide-15
SLIDE 15

Contrast enhancement

IMAGE P ROCES S IN G IN P YTH ON

Rebeca Gonzalez

Data engineer

slide-16
SLIDE 16

IMAGE PROCESSING IN PYTHON

Contrast enhancement

slide-17
SLIDE 17

IMAGE PROCESSING IN PYTHON

Contrast

Histograms for contrast enhancement

slide-18
SLIDE 18

IMAGE PROCESSING IN PYTHON

Contrast

slide-19
SLIDE 19

IMAGE PROCESSING IN PYTHON

Enhance contrast

Contrast stretching Histogram equalization

slide-20
SLIDE 20

IMAGE PROCESSING IN PYTHON

Types

Histogram equalization Adaptive histogram equalization Contrast Limited Adaptive Histogram Equalization (CLAHE)

slide-21
SLIDE 21

IMAGE PROCESSING IN PYTHON

Histogram equalization

slide-22
SLIDE 22

IMAGE PROCESSING IN PYTHON

Histogram equalization

slide-23
SLIDE 23

IMAGE PROCESSING IN PYTHON

Histogram equalization

from skimage import exposure # Obtain the equalized image image_eq = exposure.equalize_hist(image) # Show original and result show_image(image, 'Original') show_image(image_eq, 'Histogram equalized')

slide-24
SLIDE 24

IMAGE PROCESSING IN PYTHON

Histogram equalization

slide-25
SLIDE 25

IMAGE PROCESSING IN PYTHON

Adaptive Equalization

Contrastive Limited Adaptive Histogram Equalization

slide-26
SLIDE 26

IMAGE PROCESSING IN PYTHON

Contrastive Limited Adaptive Equalization

slide-27
SLIDE 27

IMAGE PROCESSING IN PYTHON

CLAHE in scikit-image

from skimage import exposure # Apply adaptive Equalization image_adapteq = exposure.equalize_adapthist(image, clip_limit=0.03) # Show original and result show_image(image, 'Original') show_image(image_eq, 'Adaptive equalized')

slide-28
SLIDE 28

IMAGE PROCESSING IN PYTHON

CLAHE in scikit-image

slide-29
SLIDE 29

Let's practice!

IMAGE P ROCES S IN G IN P YTH ON

slide-30
SLIDE 30

Transformations

IMAGE P ROCES S IN G IN P YTH ON

Rebeca Gonzalez

Data Engineer

slide-31
SLIDE 31

IMAGE PROCESSING IN PYTHON

Why transform images?

Preparing images for classication Machine Learning models Optimization and compression of images Save images with same proportion

slide-32
SLIDE 32

IMAGE PROCESSING IN PYTHON

Rotating

slide-33
SLIDE 33

IMAGE PROCESSING IN PYTHON

Rotating

slide-34
SLIDE 34

IMAGE PROCESSING IN PYTHON

Rotating clockwise

from skimage.transform import rotate # Rotate the image 90 degrees clockwise image_rotated = rotate(image, -90) show_image(image_rotated, 'Original') show_image(image_rotated, 'Rotated 90 degrees clockwise')

slide-35
SLIDE 35

IMAGE PROCESSING IN PYTHON

Rotating anticlockwise

from skimage.transform import rotate # Rotate an image 90 degrees anticlockwise image_rotated = rotate(image, 90) show_image(image, 'Original') show_image(image_rotated, 'Rotated 90 degrees anticlockwise')

slide-36
SLIDE 36

IMAGE PROCESSING IN PYTHON

Rescaling

slide-37
SLIDE 37

IMAGE PROCESSING IN PYTHON

Rescaling

Downgrading

from skimage.transform import rescale # Rescale the image to be 4 times smaller image_rescaled = rescale(image, 1/4, anti_aliasing=True, multichannel=True) show_image(image, 'Original image') show_image(image_rescaled, 'Rescaled image')

slide-38
SLIDE 38

IMAGE PROCESSING IN PYTHON

Rescaling

slide-39
SLIDE 39

IMAGE PROCESSING IN PYTHON

Aliasing in digital images

slide-40
SLIDE 40

IMAGE PROCESSING IN PYTHON

Aliasing in digital images

slide-41
SLIDE 41

IMAGE PROCESSING IN PYTHON

Resizing

slide-42
SLIDE 42

IMAGE PROCESSING IN PYTHON

Resizing

from skimage.transform import resize # Height and width to resize height = 400 width = 500 # Resize image image_resized = resize(image, (height, width), anti_aliasing=True) # Show the original and resulting images show_image(image, 'Original image') show_image(image_resized, 'Resized image')

slide-43
SLIDE 43

IMAGE PROCESSING IN PYTHON

Resizing

slide-44
SLIDE 44

IMAGE PROCESSING IN PYTHON

Resizing proportionally

from skimage.transform import resize # Set proportional height so its 4 times its size height = image.shape[0] / 4 width = image.shape[1] / 4 # Resize image image_resized = resize(image, (height, width), anti_aliasing=True) show_image(image_resized, 'Resized image')

slide-45
SLIDE 45

IMAGE PROCESSING IN PYTHON

Resizing proportionally

slide-46
SLIDE 46

Let's practice!

IMAGE P ROCES S IN G IN P YTH ON

slide-47
SLIDE 47

Morphology

IMAGE P ROCES S IN G IN P YTH ON

Rebeca Gonzalez

Data Engineer

slide-48
SLIDE 48

IMAGE PROCESSING IN PYTHON

Binary images

slide-49
SLIDE 49

IMAGE PROCESSING IN PYTHON

Morphological ltering

Better for binary images Can extend for grayscale

slide-50
SLIDE 50

IMAGE PROCESSING IN PYTHON

Morphological operations

Dilation Erosion

slide-51
SLIDE 51

IMAGE PROCESSING IN PYTHON

Structuring element

slide-52
SLIDE 52

IMAGE PROCESSING IN PYTHON

Structuring element

slide-53
SLIDE 53

IMAGE PROCESSING IN PYTHON

Shapes in scikit-image

from skimage import morphology square = morphology.square(4) [[1 1 1 1] [1 1 1 1] [1 1 1 1] [1 1 1 1]] rectangle = morphology.rectangle(4, 2) [[1 1] [1 1] [1 1] [1 1]]

slide-54
SLIDE 54

IMAGE PROCESSING IN PYTHON

Erosion in scikit-image

from skimage import morphology # Set structuring element to the rectangular-shaped selem = rectangle(12,6) # Obtain the erosed image with binary erosion eroded_image = morphology.binary_erosion(image_horse, selem=selem)

slide-55
SLIDE 55

IMAGE PROCESSING IN PYTHON

Erosion in scikit-image

# Show result plot_comparison(image_horse, eroded_image, 'Erosion')

slide-56
SLIDE 56

IMAGE PROCESSING IN PYTHON

Binary erosion with default selem

# Binary erosion with default selem eroded_image = morphology.binary_erosion(image_horse)

slide-57
SLIDE 57

IMAGE PROCESSING IN PYTHON

Dilation in scikit-image

from skimage import morphology # Obtain dilated image, using binary dilation dilated_image = morphology.binary_dilation(image_horse) # See results plot_comparison(image_horse, dilated_image, 'Erosion')

slide-58
SLIDE 58

IMAGE PROCESSING IN PYTHON

Dilation in scikit-image

slide-59
SLIDE 59

Let's practice!

IMAGE P ROCES S IN G IN P YTH ON