Programming for Engineers in Python. Recitation 12 Image Processing

Size: px
Start display at page:

Download "Programming for Engineers in Python. Recitation 12 Image Processing"

Transcription

1 Programming for Engineers in Python Recitation 12 Image Processing

2 Plan: Image Processing with numpy Binary segmentation Image gradient Image brightening Morphological operators Erosion Dilation Smoothing Denoising Ternary segmentation 2

3 Grayscale Image A 2D table of values (pixels), each in : 0 = Black 255 = White

4 Image processing basic functions Reading an image from disk: from scipy import misc im = misc.imread('c:/koala.jpg') Creating an empty image matrix: im = numpy.zeros( (height,width), dtype=numpy.uint8 ) Important: each pixel is in the range (type np.uint8) o Numerical operations cause overflow, e.g.: numpy.uint8(200) + numpy.uint8(100) = 44 = 300 mod 256 o Therefore, before doing numerical operations on image pixels, convert the whole image or a specific pixel to int 32-bit using numpy.int_ : a = numpy.uint8(200) ; b = numpy.uint8(100) numpy.int_(a) + numpy.int_(b) = 300 4

5 Image processing more functions >>> A = numpy.array([[1,7,2],[6,9,3]]) >>> A array([[1, 7, 2], [6, 9, 3]]) Find the maximal / minimal value: numpy.min(a) 1 numpy.max(a) 9 Find the average / median value: numpy.mean(a) 4.66 numpy.median(a) 4.5 5

6 Image processing more functions We will need the following numpy function later: numpy.concatenate( (A,B), axis=0) >>> A = numpy.array([[1,2,3],[4,5,6]]) >>> B = numpy.array([[7,8,9],[1,1,1]]) >>> numpy.concatenate((a,b), axis=0) >>> C = numpy.array([[50,50]]) >>> C = C.T >>> numpy.concatenate((a,c), axis=1) array([[50, 50]]) array([[50], [50]]) array([[1, 2, 3], [4, 5, 6]]) array([[7, 8, 9], [1, 1, 1]]) array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [1, 1, 1]]) array([[ 1, 2, 3, 50], [ 4, 5, 6, 50]]) 6

7 Binary Segmentation Goal: grayscale image black and white image pixel > threshold change to white (255) pixel <= threshold change to black (0) Motivation: for example, save space Threshold = 50 Threshold = 128 Threshold = 200 7

8 Binary Segmentation: Code >>> import matplotlib.pyplot as plt >>> from scipy import misc >>> im = misc.imread('c:/koala.jpg') >>> type(im) <type 'numpy.ndarray'> >>> im.shape, im.dtype ((598, 848), dtype('uint8')) >>> np.min(im), np.max(im) (0, 255) >>> threshold = 128 >>> binim = (im > threshold) * 255 >>> plt.figure() >>> plt.imshow(im, cmap=plt.cm.gray) >>> plt.figure() >>> plt.imshow(binim, cmap=plt.cm.gray) >>> plt.show() 8

9 Image gradient Given an image we may want to locate points of major change in intensity. In the gradient image, every pixel is the difference between the corresponding pixel in the original image and a neighboring pixel. We can compute the gradient wrt each of the image dimensions. 9

10 Image vertical gradient: Code The idea: shift up and subtract images zerorow = np.zeros((1,im.shape[1]), dtype=np.uint8) upshiftedim = np.concatenate((im[1:], zerorow), axis=0) diff = np.int_(upshiftedim) - np.int_(im) imdy = np.abs(diff) plt.imshow(imdy, cmap=plt.cm.gray) plt.show() Can also be computed directly using for loops! array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) => array([[4, 5, 6], [7, 8, 9], [0, 0, 0]]) 10

11 Brightening an image We can hardly see the gradient image. o Solution: let s brighten it. >>> brimdy = np.minimum(np.int_(imdy) * 5, 255) 11

12 Image processing Many more operations can be performed on images, in particular: o Geometric transformations: shifting, rotation, flipping o Filtering: replace a pixel by a function of the neighboring pixels The neighborhood can be defined by a structuring element, e.g. square A good survey with numpy/scipy examples can be found in: 12

13 Morph by Neighbors All the operators we ll see have the same basic idea: Change a pixel according to its neighborhood The neighborhood of a pixel in the input image 13 nx,ny=3 nx,ny=1 nx,ny=2

14 Morphological Operators Morphology is a technique for the analysis and processing of geometrical structures Erosion: Take binary image ; produce more black, less white. Edges of white areas ( foreground ) erode away. So black areas ( background ) grow. 14

15 Morphological Operators Dilation inverse of erosion. Boundaries of black areas erode away. So white areas grow. 15

16 Morph Common Code Framework: def morphological(im, operator=np.min, nx=5, ny=5): newim = np.zeros(im.shape) for x in range(im.shape[0]): for y in range(im.shape[1]): nlst = neighbours(im, x, y, nx, ny) newim[x,y] = operator(nlst) return newim current pixel location The specific morph. operator Size of neighborhood 16

17 Get Neighbors Code def neighbours(im, x, y, nx=1, ny=1): return im[max(x-nx, 0) : min(x+nx+1, im.shape[0]), \ max(y-ny, 0) : min(y+ny+1, im.shape[1])] 17 Default Neighborhood

18 Erosion and dilation using morph def erosion(im, nx=5, ny=5): return morphological(im, np.min, nx, ny) Black neighbor change pixel to black def dilation(im, nx=5, ny=5): return morphological(im, np.max, nx, ny) White neighbor change pixel to white 18

19 Morphological Operators - Run erosion dilation 19

20 Detect Edges with Dilation Idea: Thicken white edges a bit, using dilation Compute difference from original image Dilated Original Difference im1 = misc.imread('square1.bmp') im2 = dilation(im1, 1, 1) imdiff = im2 im1 20

21 Denoising We want to clean these pictures from noise Suggestions? 21

22 Denoising - Mean Take 1: Smoothing Use the morphological framework with mean (average): def denoise_mean(im, nx=5, ny=5): return morphological(im, np.mean, nx, ny) 22

23 Denoising - Median Take 2: Median def denoise_median(im, nx=5, ny=5): return morphological(im, np.median, nx, ny) 23

24 Denoising - Median Can we do better? We did not exploit what we know about the noise The noise can only be Almost white Almost black So change only very bright or very dark pixels! What is very bright? Pixel>W What is very dark? Pixel<B 24

25 Denoising - operation Pixels not too bright or dark remain with no change. Otherwise, examine the pixel s neighborhood nlst. too dark: Get the median of nlst, but ignore too dark pixels too bright: Get the median of nlst, but ignore too bright pixels 25

26 Denoising Bounded Median def my_median(nbrs, min_val=0, max_val=255): goodnbrs = \ nbrs[(nbrs >= min_val) & (nbrs <= max_val)] if goodnbrs.shape[0] > 0: return np.median(goodnbrs) else: center = (nbrs.shape[0]/2, nbrs.shape[1]/2) return nbrs[center] def fix_white(nbrs, W=200): center = (nbrs.shape[0]/2, nbrs.shape[1]/2) if nbrs[center] > W: # too bright return my_median(nbrs, max_val=w) else: return nbrs[center] def fix_black(nbrs, B=50): center = (nbrs.shape[0]/2, nbrs.shape[1]/2) if nbrs[center] < B: # too dark return my_median(nbrs, min_val=b) else: return nbrs[center] 26

27 Denoising Bounded Median def denoise_bounded_median(im, nx=3, ny=3): num_repeat = 3 for i in range(num_repeat): im = morphological(im, fix_white, nx, ny) im = morphological(im, fix_black, nx, ny) return im 27

28 Iteration number Denoising Bounded Median

29 Ternary segmentation 29

30 Example Before After 30

31 Ternary segmentation Example: If the values of the image pixels are 1 to 90 then: first threshold = 30; second threshold = 60 Possible algorithm: Sort all n*m pixel values in the image into sorted_pxls (one-dimensional list) Set first threshold = sorted_pxls[n*m/3] Set second threshold = sorted_pxls[2*n*m/3] Complexity: O(nm*log(nm)) Let s try to solve in O(nm) 31

32 Ternary segmentation We will break the problem into smaller problems: 1. Create a histogram. 2. Create a cumulative histogram. 3. Find 2 thresholds from cumulative histogram. 4. Transform the image using the thresholds. Step by step Modularize the solution 32

33 Image histogram pic.png contains a 20x20 pixels image Each pixel is a gray level in Q1: Implement the function build_hist(): Input: grayscale image. Output: histogram of gray levels in image. 33 So our histogram will be a list with 256 values: Index = gray level Value = #pixels with that gray level

34 Image Histogram - Code def build_hist(im): hist = [0]*256 for x in range(im.shape[0]): for y in range(im.shape[1]): gray_level = im[x,y] hist[gray_level] += 1 return hist 34

35 Cumulative histogram Q2: Implement the function cum_sum(lst): Input: list of numbers Output: list of the cumulative sums of lst

36 Cumulative sum Code def cum_sum(numbers): res = [] for i in range(len(numbers)): prevsum = res[i-1] if i > 0 else 0 res.append(prevsum + numbers[i]) return res 36

37 Ternary segmentation Q3: Given an image, find two thresholds th1, th2 such that: 37

38 Finding the thresholds def find_thrds(im): hist = build_hist(im) c_lst = cum_sum(hist) i = 0 while float(c_lst[i]) / im.size < 1./3: i += 1 th1 = i while float(c_lst[i]) / im.size < 2./3: i += 1 th2 = i return (th1, th2) 38

39 Ternary segmentation Q4: Implement the ternary segmentation function itself: o Input: a grayscale image o Output: a new image where every pixel has one of 3 gray levels: 0, 128 or 255 def ternary_sementation(im): th1, th2 = find_thrds(im) newim = np.zeros(im.shape) newim = newim + ((im > th1) & (im <= th2)) * 128 newim = newim + (im > th2) * 255 return newim 39

Programming for Engineers in Python. Recitation 10

Programming for Engineers in Python. Recitation 10 Programming for Engineers in Python Recitation 10 Plan Image Processing: Segmentation using Otsu threshold selection method Morphological operators Erosion Dilation Denoising 2 Image Processing in Python

More information

EE795: Computer Vision and Intelligent Systems

EE795: Computer Vision and Intelligent Systems EE795: Computer Vision and Intelligent Systems Spring 2012 TTh 17:30-18:45 WRI C225 Lecture 04 130131 http://www.ee.unlv.edu/~b1morris/ecg795/ 2 Outline Review Histogram Equalization Image Filtering Linear

More information

Image Processing: Final Exam November 10, :30 10:30

Image Processing: Final Exam November 10, :30 10:30 Image Processing: Final Exam November 10, 2017-8:30 10:30 Student name: Student number: Put your name and student number on all of the papers you hand in (if you take out the staple). There are always

More information

09/11/2017. Morphological image processing. Morphological image processing. Morphological image processing. Morphological image processing (binary)

09/11/2017. Morphological image processing. Morphological image processing. Morphological image processing. Morphological image processing (binary) Towards image analysis Goal: Describe the contents of an image, distinguishing meaningful information from irrelevant one. Perform suitable transformations of images so as to make explicit particular shape

More information

Biomedical Image Analysis. Mathematical Morphology

Biomedical Image Analysis. Mathematical Morphology Biomedical Image Analysis Mathematical Morphology Contents: Foundation of Mathematical Morphology Structuring Elements Applications BMIA 15 V. Roth & P. Cattin 265 Foundations of Mathematical Morphology

More information

Morphological Image Processing

Morphological Image Processing Morphological Image Processing Morphology Identification, analysis, and description of the structure of the smallest unit of words Theory and technique for the analysis and processing of geometric structures

More information

[ ] Review. Edges and Binary Images. Edge detection. Derivative of Gaussian filter. Image gradient. Tuesday, Sept 16

[ ] Review. Edges and Binary Images. Edge detection. Derivative of Gaussian filter. Image gradient. Tuesday, Sept 16 Review Edges and Binary Images Tuesday, Sept 6 Thought question: how could we compute a temporal gradient from video data? What filter is likely to have produced this image output? original filtered output

More information

Morphological Image Processing

Morphological Image Processing Morphological Image Processing Binary image processing In binary images, we conventionally take background as black (0) and foreground objects as white (1 or 255) Morphology Figure 4.1 objects on a conveyor

More information

morphology on binary images

morphology on binary images morphology on binary images Ole-Johan Skrede 10.05.2017 INF2310 - Digital Image Processing Department of Informatics The Faculty of Mathematics and Natural Sciences University of Oslo After original slides

More information

Chapter 3. Image Processing Methods. (c) 2008 Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Chapter 3. Image Processing Methods. (c) 2008 Prof. Dr. Michael M. Richter, Universität Kaiserslautern Chapter 3 Image Processing Methods The Role of Image Processing Methods (1) An image is an nxn matrix of gray or color values An image processing method is algorithm transforming such matrices or assigning

More information

ECG782: Multidimensional Digital Signal Processing

ECG782: Multidimensional Digital Signal Processing Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu ECG782: Multidimensional Digital Signal Processing Spring 2014 TTh 14:30-15:45 CBC C313 Lecture 03 Image Processing Basics 13/01/28 http://www.ee.unlv.edu/~b1morris/ecg782/

More information

Binary Image Processing. Introduction to Computer Vision CSE 152 Lecture 5

Binary Image Processing. Introduction to Computer Vision CSE 152 Lecture 5 Binary Image Processing CSE 152 Lecture 5 Announcements Homework 2 is due Apr 25, 11:59 PM Reading: Szeliski, Chapter 3 Image processing, Section 3.3 More neighborhood operators Binary System Summary 1.

More information

Processing of binary images

Processing of binary images Binary Image Processing Tuesday, 14/02/2017 ntonis rgyros e-mail: argyros@csd.uoc.gr 1 Today From gray level to binary images Processing of binary images Mathematical morphology 2 Computer Vision, Spring

More information

EE 584 MACHINE VISION

EE 584 MACHINE VISION EE 584 MACHINE VISION Binary Images Analysis Geometrical & Topological Properties Connectedness Binary Algorithms Morphology Binary Images Binary (two-valued; black/white) images gives better efficiency

More information

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University CS443: Digital Imaging and Multimedia Binary Image Analysis Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines A Simple Machine Vision System Image segmentation by thresholding

More information

Morphological Image Processing

Morphological Image Processing Morphological Image Processing Binary dilation and erosion" Set-theoretic interpretation" Opening, closing, morphological edge detectors" Hit-miss filter" Morphological filters for gray-level images" Cascading

More information

C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S. Image Operations II

C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S. Image Operations II T H E U N I V E R S I T Y of T E X A S H E A L T H S C I E N C E C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S Image Operations II For students of HI 5323

More information

Lecture 7: Morphological Image Processing

Lecture 7: Morphological Image Processing I2200: Digital Image processing Lecture 7: Morphological Image Processing Prof. YingLi Tian Oct. 25, 2017 Department of Electrical Engineering The City College of New York The City University of New York

More information

ECG782: Multidimensional Digital Signal Processing

ECG782: Multidimensional Digital Signal Processing Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu ECG782: Multidimensional Digital Signal Processing Spatial Domain Filtering http://www.ee.unlv.edu/~b1morris/ecg782/ 2 Outline Background Intensity

More information

Introduction. Computer Vision & Digital Image Processing. Preview. Basic Concepts from Set Theory

Introduction. Computer Vision & Digital Image Processing. Preview. Basic Concepts from Set Theory Introduction Computer Vision & Digital Image Processing Morphological Image Processing I Morphology a branch of biology concerned with the form and structure of plants and animals Mathematical morphology

More information

Chapter 9 Morphological Image Processing

Chapter 9 Morphological Image Processing Morphological Image Processing Question What is Mathematical Morphology? An (imprecise) Mathematical Answer A mathematical tool for investigating geometric structure in binary and grayscale images. Shape

More information

EECS490: Digital Image Processing. Lecture #17

EECS490: Digital Image Processing. Lecture #17 Lecture #17 Morphology & set operations on images Structuring elements Erosion and dilation Opening and closing Morphological image processing, boundary extraction, region filling Connectivity: convex

More information

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu Image Processing CS 554 Computer Vision Pinar Duygulu Bilkent University Today Image Formation Point and Blob Processing Binary Image Processing Readings: Gonzalez & Woods, Ch. 3 Slides are adapted from

More information

Morphological Image Processing

Morphological Image Processing Morphological Image Processing Ranga Rodrigo October 9, 29 Outline Contents Preliminaries 2 Dilation and Erosion 3 2. Dilation.............................................. 3 2.2 Erosion..............................................

More information

SECTION 5 IMAGE PROCESSING 2

SECTION 5 IMAGE PROCESSING 2 SECTION 5 IMAGE PROCESSING 2 5.1 Resampling 3 5.1.1 Image Interpolation Comparison 3 5.2 Convolution 3 5.3 Smoothing Filters 3 5.3.1 Mean Filter 3 5.3.2 Median Filter 4 5.3.3 Pseudomedian Filter 6 5.3.4

More information

Edges and Binary Images

Edges and Binary Images CS 699: Intro to Computer Vision Edges and Binary Images Prof. Adriana Kovashka University of Pittsburgh September 5, 205 Plan for today Edge detection Binary image analysis Homework Due on 9/22, :59pm

More information

Morphological Image Algorithms

Morphological Image Algorithms Morphological Image Algorithms Examples 1 Example 1 Use thresholding and morphological operations to segment coins from background Matlab s eight.tif image 2 clear all close all I = imread('eight.tif');

More information

Digital image processing

Digital image processing Digital image processing Morphological image analysis. Binary morphology operations Introduction The morphological transformations extract or modify the structure of the particles in an image. Such transformations

More information

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006, School of Computer Science and Communication, KTH Danica Kragic EXAM SOLUTIONS Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006, 14.00 19.00 Grade table 0-25 U 26-35 3 36-45

More information

Binary Image Analysis. Binary Image Analysis. What kinds of operations? Results of analysis. Useful Operations. Example: red blood cell image

Binary Image Analysis. Binary Image Analysis. What kinds of operations? Results of analysis. Useful Operations. Example: red blood cell image inary Image Analysis inary Image Analysis inary image analysis consists of a set of image analysis operations that are used to produce or process binary images, usually images of s and s. represents the

More information

Machine vision. Summary # 5: Morphological operations

Machine vision. Summary # 5: Morphological operations 1 Machine vision Summary # 5: Mphological operations MORPHOLOGICAL OPERATIONS A real image has continuous intensity. It is quantized to obtain a digital image with a given number of gray levels. Different

More information

11. Gray-Scale Morphology. Computer Engineering, i Sejong University. Dongil Han

11. Gray-Scale Morphology. Computer Engineering, i Sejong University. Dongil Han Computer Vision 11. Gray-Scale Morphology Computer Engineering, i Sejong University i Dongil Han Introduction Methematical morphology represents image objects as sets in a Euclidean space by Serra [1982],

More information

Gesture based PTZ camera control

Gesture based PTZ camera control Gesture based PTZ camera control Report submitted in May 2014 to the department of Computer Science and Engineering of National Institute of Technology Rourkela in partial fulfillment of the requirements

More information

Previously. Edge detection. Today. Thresholding. Gradients -> edges 2/1/2011. Edges and Binary Image Analysis

Previously. Edge detection. Today. Thresholding. Gradients -> edges 2/1/2011. Edges and Binary Image Analysis 2//20 Previously Edges and Binary Image Analysis Mon, Jan 3 Prof. Kristen Grauman UT-Austin Filters allow local image neighborhood to influence our description and features Smoothing to reduce noise Derivatives

More information

CITS 4402 Computer Vision

CITS 4402 Computer Vision CITS 4402 Computer Vision A/Prof Ajmal Mian Adj/A/Prof Mehdi Ravanbakhsh, CEO at Mapizy (www.mapizy.com) and InFarm (www.infarm.io) Lecture 02 Binary Image Analysis Objectives Revision of image formation

More information

Edges and Binary Image Analysis April 12 th, 2018

Edges and Binary Image Analysis April 12 th, 2018 4/2/208 Edges and Binary Image Analysis April 2 th, 208 Yong Jae Lee UC Davis Previously Filters allow local image neighborhood to influence our description and features Smoothing to reduce noise Derivatives

More information

Digital Image Processing COSC 6380/4393

Digital Image Processing COSC 6380/4393 Digital Image Processing COSC 6380/4393 Lecture 6 Sept 6 th, 2017 Pranav Mantini Slides from Dr. Shishir K Shah and Frank (Qingzhong) Liu Today Review Logical Operations on Binary Images Blob Coloring

More information

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong) Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong) References: [1] http://homepages.inf.ed.ac.uk/rbf/hipr2/index.htm [2] http://www.cs.wisc.edu/~dyer/cs540/notes/vision.html

More information

11/10/2011 small set, B, to probe the image under study for each SE, define origo & pixels in SE

11/10/2011 small set, B, to probe the image under study for each SE, define origo & pixels in SE Mathematical Morphology Sonka 13.1-13.6 Ida-Maria Sintorn ida@cb.uu.se Today s lecture SE, morphological transformations inary MM Gray-level MM Applications Geodesic transformations Morphology-form and

More information

CS 5540 Spring 2013 Assignment 3, v1.0 Due: Apr. 24th 11:59PM

CS 5540 Spring 2013 Assignment 3, v1.0 Due: Apr. 24th 11:59PM 1 Introduction In this programming project, we are going to do a simple image segmentation task. Given a grayscale image with a bright object against a dark background and we are going to do a binary decision

More information

Computer Vision 2. SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung. Computer Vision 2 Dr. Benjamin Guthier

Computer Vision 2. SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung. Computer Vision 2 Dr. Benjamin Guthier Computer Vision 2 SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung Computer Vision 2 Dr. Benjamin Guthier 1. IMAGE PROCESSING Computer Vision 2 Dr. Benjamin Guthier Content of this Chapter Non-linear

More information

[10] Industrial DataMatrix barcodes recognition with a random tilt and rotating the camera

[10] Industrial DataMatrix barcodes recognition with a random tilt and rotating the camera [10] Industrial DataMatrix barcodes recognition with a random tilt and rotating the camera Image processing, pattern recognition 865 Kruchinin A.Yu. Orenburg State University IntBuSoft Ltd Abstract The

More information

Filters. Advanced and Special Topics: Filters. Filters

Filters. Advanced and Special Topics: Filters. Filters Filters Advanced and Special Topics: Filters Dr. Edmund Lam Department of Electrical and Electronic Engineering The University of Hong Kong ELEC4245: Digital Image Processing (Second Semester, 2016 17)

More information

Babu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7)

Babu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7) 5 Years Integrated M.Sc.(IT)(Semester - 7) 060010707 Digital Image Processing UNIT 1 Introduction to Image Processing Q: 1 Answer in short. 1. What is digital image? 1. Define pixel or picture element?

More information

PPKE-ITK. Lecture

PPKE-ITK. Lecture PPKE-ITK Lecture 6-7. 2017.10.24. 1 What is on the image? This is maybe the most important question we want to answer about an image. For a human observer it is a trivial task, for a machine it is still

More information

Detection of Edges Using Mathematical Morphological Operators

Detection of Edges Using Mathematical Morphological Operators OPEN TRANSACTIONS ON INFORMATION PROCESSING Volume 1, Number 1, MAY 2014 OPEN TRANSACTIONS ON INFORMATION PROCESSING Detection of Edges Using Mathematical Morphological Operators Suman Rani*, Deepti Bansal,

More information

Mathematical Morphology and Distance Transforms. Robin Strand

Mathematical Morphology and Distance Transforms. Robin Strand Mathematical Morphology and Distance Transforms Robin Strand robin.strand@it.uu.se Morphology Form and structure Mathematical framework used for: Pre-processing Noise filtering, shape simplification,...

More information

Mathematical morphology... M.1 Introduction... M.1 Dilation... M.3 Erosion... M.3 Closing... M.4 Opening... M.5 Summary... M.6

Mathematical morphology... M.1 Introduction... M.1 Dilation... M.3 Erosion... M.3 Closing... M.4 Opening... M.5 Summary... M.6 Chapter M Misc. Contents Mathematical morphology.............................................. M.1 Introduction................................................... M.1 Dilation.....................................................

More information

Edges and Binary Image Analysis. Thurs Jan 26 Kristen Grauman UT Austin. Today. Edge detection and matching

Edges and Binary Image Analysis. Thurs Jan 26 Kristen Grauman UT Austin. Today. Edge detection and matching /25/207 Edges and Binary Image Analysis Thurs Jan 26 Kristen Grauman UT Austin Today Edge detection and matching process the image gradient to find curves/contours comparing contours Binary image analysis

More information

Albert M. Vossepoel. Center for Image Processing

Albert M. Vossepoel.   Center for Image Processing Albert M. Vossepoel www.ph.tn.tudelft.nl/~albert scene image formation sensor pre-processing image enhancement image restoration texture filtering segmentation user analysis classification CBP course:

More information

What will we learn? What is mathematical morphology? What is mathematical morphology? Fundamental concepts and operations

What will we learn? What is mathematical morphology? What is mathematical morphology? Fundamental concepts and operations What will we learn? What is mathematical morphology and how is it used in image processing? Lecture Slides ME 4060 Machine Vision and Vision-based Control Chapter 13 Morphological image processing By Dr.

More information

Introduction to Digital Image Processing

Introduction to Digital Image Processing Fall 2005 Image Enhancement in the Spatial Domain: Histograms, Arithmetic/Logic Operators, Basics of Spatial Filtering, Smoothing Spatial Filters Tuesday, February 7 2006, Overview (1): Before We Begin

More information

Intensive Course on Image Processing Matlab project

Intensive Course on Image Processing Matlab project Intensive Course on Image Processing Matlab project All the project will be done using Matlab software. First run the following command : then source /tsi/tp/bin/tp-athens.sh matlab and in the matlab command

More information

Operators-Based on Second Derivative double derivative Laplacian operator Laplacian Operator Laplacian Of Gaussian (LOG) Operator LOG

Operators-Based on Second Derivative double derivative Laplacian operator Laplacian Operator Laplacian Of Gaussian (LOG) Operator LOG Operators-Based on Second Derivative The principle of edge detection based on double derivative is to detect only those points as edge points which possess local maxima in the gradient values. Laplacian

More information

Extracting Layers and Recognizing Features for Automatic Map Understanding. Yao-Yi Chiang

Extracting Layers and Recognizing Features for Automatic Map Understanding. Yao-Yi Chiang Extracting Layers and Recognizing Features for Automatic Map Understanding Yao-Yi Chiang 0 Outline Introduction/ Problem Motivation Map Processing Overview Map Decomposition Feature Recognition Discussion

More information

Image Acquisition + Histograms

Image Acquisition + Histograms Image Processing - Lesson 1 Image Acquisition + Histograms Image Characteristics Image Acquisition Image Digitization Sampling Quantization Histograms Histogram Equalization What is an Image? An image

More information

Bioimage Informatics

Bioimage Informatics Bioimage Informatics Lecture 14, Spring 2012 Bioimage Data Analysis (IV) Image Segmentation (part 3) Lecture 14 March 07, 2012 1 Outline Review: intensity thresholding based image segmentation Morphological

More information

EEM 463 Introduction to Image Processing. Week 3: Intensity Transformations

EEM 463 Introduction to Image Processing. Week 3: Intensity Transformations EEM 463 Introduction to Image Processing Week 3: Intensity Transformations Fall 2013 Instructor: Hatice Çınar Akakın, Ph.D. haticecinarakakin@anadolu.edu.tr Anadolu University Enhancement Domains Spatial

More information

CS534 Introduction to Computer Vision Binary Image Analysis. Ahmed Elgammal Dept. of Computer Science Rutgers University

CS534 Introduction to Computer Vision Binary Image Analysis. Ahmed Elgammal Dept. of Computer Science Rutgers University CS534 Introduction to Computer Vision Binary Image Analysis Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines A Simple Machine Vision System Image segmentation by thresholding Digital

More information

Image segmentation. Stefano Ferrari. Università degli Studi di Milano Methods for Image Processing. academic year

Image segmentation. Stefano Ferrari. Università degli Studi di Milano Methods for Image Processing. academic year Image segmentation Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Methods for Image Processing academic year 2017 2018 Segmentation by thresholding Thresholding is the simplest

More information

COMPUTER AND ROBOT VISION

COMPUTER AND ROBOT VISION VOLUME COMPUTER AND ROBOT VISION Robert M. Haralick University of Washington Linda G. Shapiro University of Washington A^ ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Third Edition Rafael C. Gonzalez University of Tennessee Richard E. Woods MedData Interactive PEARSON Prentice Hall Pearson Education International Contents Preface xv Acknowledgments

More information

Filtering and Enhancing Images

Filtering and Enhancing Images KECE471 Computer Vision Filtering and Enhancing Images Chang-Su Kim Chapter 5, Computer Vision by Shapiro and Stockman Note: Some figures and contents in the lecture notes of Dr. Stockman are used partly.

More information

Image Enhancement. Digital Image Processing, Pratt Chapter 10 (pages ) Part 1: pixel-based operations

Image Enhancement. Digital Image Processing, Pratt Chapter 10 (pages ) Part 1: pixel-based operations Image Enhancement Digital Image Processing, Pratt Chapter 10 (pages 243-261) Part 1: pixel-based operations Image Processing Algorithms Spatial domain Operations are performed in the image domain Image

More information

From Pixels to Blobs

From Pixels to Blobs From Pixels to Blobs 15-463: Rendering and Image Processing Alexei Efros Today Blobs Need for blobs Extracting blobs Image Segmentation Working with binary images Mathematical Morphology Blob properties

More information

Image Processing Fundamentals. Nicolas Vazquez Principal Software Engineer National Instruments

Image Processing Fundamentals. Nicolas Vazquez Principal Software Engineer National Instruments Image Processing Fundamentals Nicolas Vazquez Principal Software Engineer National Instruments Agenda Objectives and Motivations Enhancing Images Checking for Presence Locating Parts Measuring Features

More information

Lecture: Segmentation I FMAN30: Medical Image Analysis. Anders Heyden

Lecture: Segmentation I FMAN30: Medical Image Analysis. Anders Heyden Lecture: Segmentation I FMAN30: Medical Image Analysis Anders Heyden 2017-11-13 Content What is segmentation? Motivation Segmentation methods Contour-based Voxel/pixel-based Discussion What is segmentation?

More information

Examination in Image Processing

Examination in Image Processing Umeå University, TFE Ulrik Söderström 203-03-27 Examination in Image Processing Time for examination: 4.00 20.00 Please try to extend the answers as much as possible. Do not answer in a single sentence.

More information

CHAPTER V IMPLEMENTATION AND TESTING

CHAPTER V IMPLEMENTATION AND TESTING CHAPTER V IMPLEMENTATION AND TESTING 5.1. Implementation This program will process the annual rings image in trunk which has been inputted by user. The process will change the image into grayscale, apply

More information

[Programming Assignment] (1)

[Programming Assignment] (1) http://crcv.ucf.edu/people/faculty/bagci/ [Programming Assignment] (1) Computer Vision Dr. Ulas Bagci (Fall) 2015 University of Central Florida (UCF) Coding Standard and General Requirements Code for all

More information

Mathematical morphology (1)

Mathematical morphology (1) Chapter 9 Mathematical morphology () 9. Introduction Morphology, or morphology for short, is a branch of image processing which is particularly useful for analyzing shapes in images. We shall develop basic

More information

Robbery Detection Camera

Robbery Detection Camera Robbery Detection Camera Vincenzo Caglioti Simone Gasparini Giacomo Boracchi Pierluigi Taddei Alessandro Giusti Camera and DSP 2 Camera used VGA camera (640x480) [Y, Cb, Cr] color coding, chroma interlaced

More information

Depatment of Computer Science Rutgers University CS443 Digital Imaging and Multimedia Assignment 4 Due Apr 15 th, 2008

Depatment of Computer Science Rutgers University CS443 Digital Imaging and Multimedia Assignment 4 Due Apr 15 th, 2008 CS443 Spring 2008 - page 1/5 Depatment of Computer Science Rutgers University CS443 Digital Imaging and Multimedia Assignment 4 Due Apr 15 th, 2008 This assignment is supposed to be a tutorial assignment

More information

Search. The Nearest Neighbor Problem

Search. The Nearest Neighbor Problem 3 Nearest Neighbor Search Lab Objective: The nearest neighbor problem is an optimization problem that arises in applications such as computer vision, pattern recognition, internet marketing, and data compression.

More information

Computer and Machine Vision

Computer and Machine Vision Computer and Machine Vision Lecture Week 5 Part-2 February 13, 2014 Sam Siewert Outline of Week 5 Background on 2D and 3D Geometric Transformations Chapter 2 of CV Fundamentals of 2D Image Transformations

More information

CSE 152 Lecture 7. Intro Computer Vision

CSE 152 Lecture 7. Intro Computer Vision Introduction to Computer Vision CSE 152 Lecture 7 Binary Tracking for Robot Control Binary System Summary 1. Acquire images and binarize (tresholding, color labels, etc.). 2. Possibly clean up image using

More information

Analysis of Binary Images

Analysis of Binary Images Analysis of Binary Images Introduction to Computer Vision CSE 52 Lecture 7 CSE52, Spr 07 The appearance of colors Color appearance is strongly affected by (at least): Spectrum of lighting striking the

More information

BCC Textured Wipe Animation menu Manual Auto Pct. Done Percent Done

BCC Textured Wipe Animation menu Manual Auto Pct. Done Percent Done BCC Textured Wipe The BCC Textured Wipe creates is a non-geometric wipe using the Influence layer and the Texture settings. By default, the Influence is generated from the luminance of the outgoing clip

More information

All aids allowed. Laptop computer with Matlab required. Name :... Signature :... Desk no. :... Question

All aids allowed. Laptop computer with Matlab required. Name :... Signature :... Desk no. :... Question Page of 6 pages Written exam, December 4, 06 Course name: Image analysis Course number: 050 Aids allowed: Duration: Weighting: All aids allowed. Laptop computer with Matlab required 4 hours All questions

More information

EECS 556 Image Processing W 09. Image enhancement. Smoothing and noise removal Sharpening filters

EECS 556 Image Processing W 09. Image enhancement. Smoothing and noise removal Sharpening filters EECS 556 Image Processing W 09 Image enhancement Smoothing and noise removal Sharpening filters What is image processing? Image processing is the application of 2D signal processing methods to images Image

More information

Introduction to grayscale image processing by mathematical morphology

Introduction to grayscale image processing by mathematical morphology Introduction to grayscale image processing by mathematical morphology Jean Cousty MorphoGraph and Imagery 2011 J. Cousty : Morpho, graphes et imagerie 3D 1/15 Outline of the lecture 1 Grayscale images

More information

Perception. Autonomous Mobile Robots. Sensors Vision Uncertainties, Line extraction from laser scans. Autonomous Systems Lab. Zürich.

Perception. Autonomous Mobile Robots. Sensors Vision Uncertainties, Line extraction from laser scans. Autonomous Systems Lab. Zürich. Autonomous Mobile Robots Localization "Position" Global Map Cognition Environment Model Local Map Path Perception Real World Environment Motion Control Perception Sensors Vision Uncertainties, Line extraction

More information

Region-based Segmentation

Region-based Segmentation Region-based Segmentation Image Segmentation Group similar components (such as, pixels in an image, image frames in a video) to obtain a compact representation. Applications: Finding tumors, veins, etc.

More information

An adaptive container code character segmentation algorithm Yajie Zhu1, a, Chenglong Liang2, b

An adaptive container code character segmentation algorithm Yajie Zhu1, a, Chenglong Liang2, b 6th International Conference on Machinery, Materials, Environment, Biotechnology and Computer (MMEBC 2016) An adaptive container code character segmentation algorithm Yajie Zhu1, a, Chenglong Liang2, b

More information

CHAPTER 3 IMAGE ENHANCEMENT IN THE SPATIAL DOMAIN

CHAPTER 3 IMAGE ENHANCEMENT IN THE SPATIAL DOMAIN CHAPTER 3 IMAGE ENHANCEMENT IN THE SPATIAL DOMAIN CHAPTER 3: IMAGE ENHANCEMENT IN THE SPATIAL DOMAIN Principal objective: to process an image so that the result is more suitable than the original image

More information

Chapter 11 Representation & Description

Chapter 11 Representation & Description Chain Codes Chain codes are used to represent a boundary by a connected sequence of straight-line segments of specified length and direction. The direction of each segment is coded by using a numbering

More information

Basic relations between pixels (Chapter 2)

Basic relations between pixels (Chapter 2) Basic relations between pixels (Chapter 2) Lecture 3 Basic Relationships Between Pixels Definitions: f(x,y): digital image Pixels: q, p (p,q f) A subset of pixels of f(x,y): S A typology of relations:

More information

Morphology-form and structure. Who am I? structuring element (SE) Today s lecture. Morphological Transformation. Mathematical Morphology

Morphology-form and structure. Who am I? structuring element (SE) Today s lecture. Morphological Transformation. Mathematical Morphology Mathematical Morphology Morphology-form and structure Sonka 13.1-13.6 Ida-Maria Sintorn Ida.sintorn@cb.uu.se mathematical framework used for: pre-processing - noise filtering, shape simplification,...

More information

Lecture 6: Segmentation by Point Processing

Lecture 6: Segmentation by Point Processing Lecture 6: Segmentation by Point Processing Harvey Rhody Chester F. Carlson Center for Imaging Science Rochester Institute of Technology rhody@cis.rit.edu September 27, 2005 Abstract Applications of point

More information

Review for the Final

Review for the Final Review for the Final CS 635 Review (Topics Covered) Image Compression Lossless Coding Compression Huffman Interpixel RLE Lossy Quantization Discrete Cosine Transform JPEG CS 635 Review (Topics Covered)

More information

Lecture 4 Image Enhancement in Spatial Domain

Lecture 4 Image Enhancement in Spatial Domain Digital Image Processing Lecture 4 Image Enhancement in Spatial Domain Fall 2010 2 domains Spatial Domain : (image plane) Techniques are based on direct manipulation of pixels in an image Frequency Domain

More information

PROCESS > SPATIAL FILTERS

PROCESS > SPATIAL FILTERS 83 Spatial Filters There are 19 different spatial filters that can be applied to a data set. These are described in the table below. A filter can be applied to the entire volume or to selected objects

More information

Region & edge based Segmentation

Region & edge based Segmentation INF 4300 Digital Image Analysis Region & edge based Segmentation Fritz Albregtsen 06.11.2018 F11 06.11.18 IN5520 1 Today We go through sections 10.1, 10.4, 10.5, 10.6.1 We cover the following segmentation

More information

Extended Introduction to Computer Science CS1001.py Lecture 25: Image Noise Reduction

Extended Introduction to Computer Science CS1001.py Lecture 25: Image Noise Reduction Extended Introduction to Computer Science CS1001.py Lecture 25: Image Noise Reduction Instructors: Benny Chor, Amir Rubinstein Teaching Assistants: Michal Kleinbort, Amir Gilad School of Computer Science

More information

Anno accademico 2006/2007. Davide Migliore

Anno accademico 2006/2007. Davide Migliore Robotica Anno accademico 6/7 Davide Migliore migliore@elet.polimi.it Today What is a feature? Some useful information The world of features: Detectors Edges detection Corners/Points detection Descriptors?!?!?

More information

Getting Started With Images, Video, and Matlab. CSE 6367 Computer Vision Vassilis Athitsos University of Texas at Arlington

Getting Started With Images, Video, and Matlab. CSE 6367 Computer Vision Vassilis Athitsos University of Texas at Arlington Getting Started With Images, Video, and Matlab CSE 6367 Computer Vision Vassilis Athitsos University of Texas at Arlington Grayscale image: What Is An Image? A 2D array of intensity values. rows x columns.

More information

REGION & EDGE BASED SEGMENTATION

REGION & EDGE BASED SEGMENTATION INF 4300 Digital Image Analysis REGION & EDGE BASED SEGMENTATION Today We go through sections 10.1, 10.2.7 (briefly), 10.4, 10.5, 10.6.1 We cover the following segmentation approaches: 1. Edge-based segmentation

More information

Physical Color. Color Theory - Center for Graphics and Geometric Computing, Technion 2

Physical Color. Color Theory - Center for Graphics and Geometric Computing, Technion 2 Color Theory Physical Color Visible energy - small portion of the electro-magnetic spectrum Pure monochromatic colors are found at wavelengths between 380nm (violet) and 780nm (red) 380 780 Color Theory

More information

2D Image Processing INFORMATIK. Kaiserlautern University. DFKI Deutsches Forschungszentrum für Künstliche Intelligenz

2D Image Processing INFORMATIK. Kaiserlautern University.   DFKI Deutsches Forschungszentrum für Künstliche Intelligenz 2D Image Processing - Filtering Prof. Didier Stricker Kaiserlautern University http://ags.cs.uni-kl.de/ DFKI Deutsches Forschungszentrum für Künstliche Intelligenz http://av.dfki.de 1 What is image filtering?

More information

IMAGE PROCESSING >FILTERS AND EDGE DETECTION FOR COLOR IMAGES UTRECHT UNIVERSITY RONALD POPPE

IMAGE PROCESSING >FILTERS AND EDGE DETECTION FOR COLOR IMAGES UTRECHT UNIVERSITY RONALD POPPE IMAGE PROCESSING >FILTERS AND EDGE DETECTION FOR COLOR IMAGES UTRECHT UNIVERSITY RONALD POPPE OUTLINE Filters for color images Edge detection for color images Canny edge detection FILTERS FOR COLOR IMAGES

More information