CT336/CT404 Graphics & Image Processing. Section 7 Fundamental Image Processing Techniques

Size: px
Start display at page:

Download "CT336/CT404 Graphics & Image Processing. Section 7 Fundamental Image Processing Techniques"

Transcription

1 CT336/CT404 Graphics & Image Processing Section 7 Fundamental Image Processing Techniques

2 Graphics Vs. Image Processing COMPUTER GRAPHICS: processing and display of images of objects that exist conceptually rather than physically emphasis on the generation of an image from a model of the objects, illumination, etc. emphasis (often) on rendering efficiency for real-time display DIGITAL IMAGE PROCESSING: processing and analysis of images of the real world emphasis on the modification of the image emphasis on extraction of domain-specific information from the image

3

4

5 Image Processing Techniques include.. Image enhancement provide more effective display of data for visual interpretation (e.g. human eye can distinguish c.40 grey shades) increase the visual distinction between features in a scene. "digital darkroom" techniques

6 Image Processing Techniques include.. Image rectification and restoration correction of geometric distortions, calibration of data, elimination of noise correction of blurring

7 Image Processing Techniques include.. Image classification / automatic scene interpretation / machine vision Replace or assist visual (manual) data analysis by automating the identification of features in a scene. Decision rules may be based on: Spectral radiance (e.g. colour or tone) Spatial information (e.g. geometrical shapes, sizes and patterns/textures).

8 Some Application Areas Remote Sensing Spectral classification - e.g. landcover maps Textural classification - e.g. cloud classification maps Knowledge based approaches - e.g. urban maps Robot guidance Automatic target recognition/tracking

9 Some Application Areas Industrial Inspection Measurement Quality control Medical/zoological X-Ray enhancement Counting objects of interest Morphological measurement/ classification

10 Image Processing technology platforms For high-performance image processing, and to use pre-built library functions, one good choice is Open CV Open Source Computer Vision Library (OpenCV) is an open source computer vision and machine learning software library, which is available for C and Java For the purposes of exploring the fundamentals of image processing, we are going to use Canvas and Javascript, in order to avoid learning extra technologies and using other languages

11 Loading and Displaying images <html> <head> <script> function loadimage() { var textbox = document.getelementbyid("filename"); var filename = textbox.value; var img = new Image(); img.src = filename; img.onload = function() { var wid = img.naturalwidth; var hgt = img.naturalheight; var canvas = document.getelementbyid("canvas"); // this only works if we use width as an attribute rather than a style canvas.width = wid; canvas.height = hgt; var ctx = canvas.getcontext("2d"); ctx.drawimage(img,0,0,wid,hgt); </script> </head> 01-DisplayImage.html <body> <canvas id="canvas" style="border-width:1px; border-style:solid;" width="500" height="500"></canvas><br> <input type="text" id="filename" style="width:600px;" value="images/cookiemonster.jpg"> <input type="button" onclick="loadimage();" value="load Image"> </body> </html>

12 Manipulating Pixels Using Javascript, we can read and write the pixels in a Canvas object Pixels are received as an array of integers, into which the cells of the image are stored in rows starting top-left Each cell takes up 4 integers of space (i.e. R,G,B,A components are separate) This is discussed well here: e.g. for an image of 3x2 pixels, the array size will be 3x2x4 = 24

13 Manipulating Pixels To read the data from an Canvas drawing context: var imagedata = ctx.getimagedata(0, 0, width, height); imagedata is an object with the following properties: imagedata.width // width in pixels imagedata.height // height in pixels imagedata.data // pixel data array of (width*height*4) elements To write modified pixel data back into the Canvas drawing context, positioned at 0,0: ctx.putimagedata(imagedata,0,0);

14 <html> <head> <script> Example.. Remove the blue from Cookie Monster (1/2) function loadimage() { var filename = "images/cookiemonster.jpg"; var img = new Image(); img.src = filename; img.onload = function() { var wid = img.naturalwidth; var hgt = img.naturalheight; var canvas = document.getelementbyid("canvas"); // this only works if we use width as an attribute rather than a style canvas.width = wid; canvas.height = hgt; var ctx = canvas.getcontext("2d"); ctx.drawimage(img,0,0,wid,hgt); // read pixels var imagedata = ctx.getimagedata(0, 0, wid, hgt);

15 (2/2) // iterate thru pixels, setting the Blue of each to zero for (x=0; x<wid; x++) { for (y=0; y<hgt; y++) { var index = (x + y*imagedata.width) * 4; /* // if we wanted to inspect the pixel data: var red = imagedata.data[index+0]; var green = imagedata.data[index+1]; var blue = imagedata.data[index+2]; var alpha = imagedata.data[index+3]; */ // actually all we want to do is modify the pixel data: imagedata.data[index+2] = 0; // set Blue component of current pixel to zero </script> </head> // copy the image data back onto the canvas ctx.putimagedata(imagedata, 0, 0); // at coords 0,0 <body onload="loadimage();"> <canvas id="canvas" style="border-width:1px; border-style:solid;" width="500" height="500"></canvas><br> </body> </html>

16 Fundamental Image Processing Techniques Global or point operations modify the value of each pixel independently E.g. histogram manipulation Local operations modify each pixel according to some function involving itself and its neighbours E.g. edge detection

17 Histogram Manipulation Grey-scale histogram: a histogram of the frequencies of each of the grey levels Manipulation of histogram: a point operation Distribution of grey levels: concentrated near a certain level => low contrast/ poor visual interpretability. wide range of levels is represented => high contrast.

18 Histogram Manipulation Contrast stretching spaces out values so that they are more easily distinguishable. Uniform expansion/ linear stretch assigns as many grey levels to rarely occurring values as to frequently occurring ones. Histogram-equalised stretch: image values are assigned to new values on the basis of their frequency of occurrence: more display values (and hence more detail) are assigned to the frequently occurring portions of the histogram. The aim is to maximise the overall contrast: a nearly uniform (i.e. flat) distribution is produced. Special analyses can be made by stretching a particular range of image values over the entire range, while disregarding the other image values. (show IPTK with 9532.bmp)

19 Thresholding A simple segmentation technique that is very useful for separating solid objects from a contrasting background. All pixels above a determined (threshold) grey level are assumed to belong to the object, and all pixels below that level are assumed to be outside the object (or vice versa) The selection of the threshold level is very important, since it will affect any measurements of parameters concerning the object (the exact object boundary is very sensitive to the grey threshold level chosen). Thresholding is a point technique however locally adaptive thresholding" determines different local thresholds for sections of an image

20 Example: thresholding an image in Canvas/Javascript <html> <head> <script src="imageprocessingfunctions.js"></script> <script> // these globals are set in readimage() var imgwidth, imgheight; var ctx; function loadimage() { var textbox = document.getelementbyid("filename"); var filename = textbox.value; var canvas = document.getelementbyid("canvas"); readimage(canvas,filename); function dothreshold() { var level = document.getelementbyid("threshlevel").value; var imagedata = ctx.getimagedata(0, 0, imgwidth, imgheight); greyscale(imagedata); threshold(imagedata, level); ctx.putimagedata(imagedata, 0, 0); </script> </head> <body> <canvas id="canvas" style="border-width:1px; borderstyle:solid;" width="500" height="500"></canvas><br> <input type="text" id="filename" style="width:600px;" value="images/cookiemonster.jpg"> <input type="button" onclick="loadimage();" value="load Image"><br> <input type="text" id="threshlevel" style="width:100px;" value="127"> <input type="button" onclick="dothreshold();" value="threshold"> </body> </html>

21 imageprocessingfunctions.js (1/2) // useful image processing functions for Canvas imagedata function readimage(canvas,filename) { var img = new Image(); img.src = filename; img.onload = function() { var wid = img.naturalwidth; var hgt = img.naturalheight; canvas.width = wid; canvas.height = hgt; ctx = canvas.getcontext("2d"); // global var ctx.drawimage(img,0,0,wid,hgt); imgwidth = wid; // global var imgheight = hgt; // global var

22 function greyscale(imagedata) { var wid = imagedata.width; var hgt = imagedata.height; for (x=0;x<wid;x++) { for (y=0;y<hgt;y++) { var index = (x + y * imagedata.width) * 4; vargrey = Math.round((imageData.data[index+0] + imagedata.data[index+1] + imagedata.data[index+2])/3); imagedata.data[index+0] = imagedata.data[index+1] = imagedata.data[index+2] = grey; function threshold(imagedata, level) { // assumes image is greyscale (i.e. RGB all the same) // so we will only read the Red channel var wid = imagedata.width; var hgt = imagedata.height; for (x=0;x<wid;x++) { for (y=0;y<hgt;y++) { var index = (x + y * imagedata.width) * 4; var grey = imagedata.data[index+0]; var output; if (grey>=level) output=255; else output=0; imagedata.data[index+0] = imagedata.data[index+1] = imagedata.data[index+2] = output; (2/2)

23 Convolution (Filtering) A fundamental (and very flexible) local operation Used for a variety of tasks, including noise removal, blurring, sharpening, and edge detection. Establish a moving window ('kernel') which contains an array of coefficients or weighting factors. Move the kernel across the original image, so that it centres on each pixel in turn. Each coefficient in the kernel is multiplied by the value of the pixel below it, and the addition of each of these values determines the value of the pixel in the output image corresponding to the pixel in the centre of the kernel.

24 Convolution (Filtering) The effect of applying a kernel to an image depends directly upon the size of the kernel used and the values of its coefficients e.g. this kernel would be responsive to vertical lines/edges: e.g. this one would perform a blur: /9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 See:

25 Exercise..? Write a Javascript function for performing an arbitrary 3x3 convolution based on an array of 9 values passed to it Use this function to perform the two filters from the previous slide, using a Canvas object

26 Enhanced vertical edges

27 <html> <head> <script src="imageprocessingfunctions.js"></script> <style> input { width:25px; </style> <script> // these globals are set in readimage() var imgwidth, imgheight; var ctx; function loadimage() { var textbox = document.getelementbyid("filename"); var filename = textbox.value; var canvas = document.getelementbyid("canvas"); readimage(canvas,filename); function doconvolution() { var kernel = new Array(); for (cell=0;cell<9;cell++) kernel[cell]=parseint(document.getelementbyid("cell"+cell).value); var imagedata = ctx.getimagedata(0, 0, imgwidth, imgheight); greyscale(imagedata); convolution3x3(imagedata,kernel); ctx.putimagedata(imagedata, 0, 0); </script> </head> <body> <canvas id="canvas" style="border-width:1px; border-style:solid;" width="500" height="500"></canvas><br> <input type="text" id="filename" style="width:600px;" value="images/cookiemonster.jpg"> <input type="button" style="width:100px;" onclick="loadimage();" value="load Image"><br> <input id='cell0' value='0'><input id='cell1' value='0'><input id='cell2' value='0'><br> <input id='cell3' value='0'><input id='cell4' value='0'><input id='cell5' value='0'><br> <input id='cell6' value='0'><input id='cell7' value='0'><input id='cell8' value='0'><br> <input type="button" style="width:180px;" value="apply Convolution Kernel" onclick="doconvolution();"> </body> </html>

28 function convolution3x3(imagedata,kernel) { // create a temporary array for output var outputdata = new Array(); var sz = imagedata.data.length; for (i=0;i<sz;i++) outputdata[i] = imagedata.data[i]; var wid = imagedata.width; var hgt = imagedata.height; for (x=1;x<wid-1;x++) { for (y=1;y<hgt-1;y++) { var weightedsum = 0; for (xx=-1;xx<=1;xx++) { for (yy=-1;yy<=1;yy++) { var index = (x+xx + (y+yy)*wid) * 4; var grey = imagedata.data[index+0]; var kernelcellindex = (xx+1 + (yy+1)*3); weightedsum += grey*kernel[kernelcellindex]; var index = (x + y * wid) * 4; var outputgrey = weightedsum; outputdata[index] = outputgrey; // red channel outputdata[index+1] = outputgrey; // green channel outputdata[index+2] = outputgrey; // blue channel Additional function in imageprocessingfunctions.js imagedata[x+xx][y+yy][0] // copy data from output array to original array for (i=0;i<sz;i++) imagedata.data[i] = outputdata[i];

Image Processing. HTML5 Canvas JavaScript Pixels

Image Processing. HTML5 Canvas JavaScript Pixels Image Processing HTML5 Canvas JavaScript Pixels Brent M. Dingle, Ph.D. 2015 Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Provide Examples

More information

Classification of image operations. Image enhancement (GW-Ch. 3) Point operations. Neighbourhood operation

Classification of image operations. Image enhancement (GW-Ch. 3) Point operations. Neighbourhood operation Image enhancement (GW-Ch. 3) Classification of image operations Process of improving image quality so that the result is more suitable for a specific application. contrast stretching histogram processing

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

IMAGE & TEXT. Workshop 5

IMAGE & TEXT. Workshop 5 IMAGE & TEXT Workshop 5 RESOURCE Image (.png,.jpg,.svg, etc.) Font (.ttf,.otf, etc.) Audio (.mp3,.wav,.aiff, etc.) Video (.mov,.avi, etc.) Data (.js,.json,.xml, etc.) Why is loading an image, different

More information

Lecture 6: Edge Detection

Lecture 6: Edge Detection #1 Lecture 6: Edge Detection Saad J Bedros sbedros@umn.edu Review From Last Lecture Options for Image Representation Introduced the concept of different representation or transformation Fourier Transform

More information

Chapter - 2 : IMAGE ENHANCEMENT

Chapter - 2 : IMAGE ENHANCEMENT Chapter - : IMAGE ENHANCEMENT The principal objective of enhancement technique is to process a given image so that the result is more suitable than the original image for a specific application Image Enhancement

More information

Broad field that includes low-level operations as well as complex high-level algorithms

Broad field that includes low-level operations as well as complex high-level algorithms Image processing About Broad field that includes low-level operations as well as complex high-level algorithms Low-level image processing Computer vision Computational photography Several procedures and

More information

DIGITAL IMAGE ANALYSIS. Image Classification: Object-based Classification

DIGITAL IMAGE ANALYSIS. Image Classification: Object-based Classification DIGITAL IMAGE ANALYSIS Image Classification: Object-based Classification Image classification Quantitative analysis used to automate the identification of features Spectral pattern recognition Unsupervised

More information

Theoretically Perfect Sensor

Theoretically Perfect Sensor Sampling 1/60 Sampling The ray tracer samples the geometry, only gathering information from the parts of the world that interact with a finite number of rays In contrast, a scanline renderer can push all

More information

Last update: May 4, Vision. CMSC 421: Chapter 24. CMSC 421: Chapter 24 1

Last update: May 4, Vision. CMSC 421: Chapter 24. CMSC 421: Chapter 24 1 Last update: May 4, 200 Vision CMSC 42: Chapter 24 CMSC 42: Chapter 24 Outline Perception generally Image formation Early vision 2D D Object recognition CMSC 42: Chapter 24 2 Perception generally Stimulus

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

Previously... contour or image rendering in 2D

Previously... contour or image rendering in 2D Volume Rendering Visualisation Lecture 10 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Volume Rendering 1 Previously... contour or image rendering in 2D 2D Contour line

More information

Digital Image Processing COSC 6380/4393

Digital Image Processing COSC 6380/4393 Digital Image Processing COSC 6380/4393 Lecture 21 Nov 16 th, 2017 Pranav Mantini Ack: Shah. M Image Processing Geometric Transformation Point Operations Filtering (spatial, Frequency) Input Restoration/

More information

Lecture 4: Spatial Domain Transformations

Lecture 4: Spatial Domain Transformations # Lecture 4: Spatial Domain Transformations Saad J Bedros sbedros@umn.edu Reminder 2 nd Quiz on the manipulator Part is this Fri, April 7 205, :5 AM to :0 PM Open Book, Open Notes, Focus on the material

More information

COMPUTER VISION. Dr. Sukhendu Das Deptt. of Computer Science and Engg., IIT Madras, Chennai

COMPUTER VISION. Dr. Sukhendu Das Deptt. of Computer Science and Engg., IIT Madras, Chennai COMPUTER VISION Dr. Sukhendu Das Deptt. of Computer Science and Engg., IIT Madras, Chennai 600036. Email: sdas@iitm.ac.in URL: //www.cs.iitm.ernet.in/~sdas 1 INTRODUCTION 2 Human Vision System (HVS) Vs.

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

Part 3: Image Processing

Part 3: Image Processing Part 3: Image Processing Image Filtering and Segmentation Georgy Gimel farb COMPSCI 373 Computer Graphics and Image Processing 1 / 60 1 Image filtering 2 Median filtering 3 Mean filtering 4 Image segmentation

More information

Basic Algorithms for Digital Image Analysis: a course

Basic Algorithms for Digital Image Analysis: a course Institute of Informatics Eötvös Loránd University Budapest, Hungary Basic Algorithms for Digital Image Analysis: a course Dmitrij Csetverikov with help of Attila Lerch, Judit Verestóy, Zoltán Megyesi,

More information

Programming Fundamentals

Programming Fundamentals Programming Fundamentals Lecture 03 Introduction to Löve 2D Edirlei Soares de Lima Computer Graphics Concepts What is a pixel? In digital imaging, a pixel is a single

More information

A l g o r i t h m s a n d J a v a S c r i p t P r o g r a m. o f R - F u n c t i o n s a n d P r o d u c i n g T h e i r T w o - a n d

A l g o r i t h m s a n d J a v a S c r i p t P r o g r a m. o f R - F u n c t i o n s a n d P r o d u c i n g T h e i r T w o - a n d Proceedings of the 5th International Conference on Nonlinear Dynamics ND-KhPI2016 September 27-30, 2016, Kharkov, Ukraine A l g o r i t h m s a n d J a v a S c r i p t P r o g r a m s i n C a l c u l a

More information

Theoretically Perfect Sensor

Theoretically Perfect Sensor Sampling 1/67 Sampling The ray tracer samples the geometry, only gathering information from the parts of the world that interact with a finite number of rays In contrast, a scanline renderer can push all

More information

An Intuitive Explanation of Fourier Theory

An Intuitive Explanation of Fourier Theory An Intuitive Explanation of Fourier Theory Steven Lehar slehar@cns.bu.edu Fourier theory is pretty complicated mathematically. But there are some beautifully simple holistic concepts behind Fourier theory

More information

This is an open-book, open-notes, open-computer exam. You may not consult with anyone other than the instructor while working on this exam.

This is an open-book, open-notes, open-computer exam. You may not consult with anyone other than the instructor while working on this exam. FINAL EXAM KEY SPRING 2016 CSC 105 INTERACTIVE WEB DOCUMENTS NICHOLAS R. HOWE This is an open-book, open-notes, open-computer exam. You may not consult with anyone other than the instructor while working

More information

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization Volume visualization Volume visualization Volumes are special cases of scalar data: regular 3D grids of scalars, typically interpreted as density values. Each data value is assumed to describe a cubic

More information

CT336/CT404 Graphics & Image Processing. Animation and Interactivity (X3D, Canvas)

CT336/CT404 Graphics & Image Processing. Animation and Interactivity (X3D, Canvas) CT336/CT404 Graphics & Image Processing Animation and Interactivity (X3D, Canvas) The X3D Event Model X3D provides an event model which allows certain events occurring to cause changes to objects. The

More information

Fundamentals of Digital Image Processing

Fundamentals of Digital Image Processing \L\.6 Gw.i Fundamentals of Digital Image Processing A Practical Approach with Examples in Matlab Chris Solomon School of Physical Sciences, University of Kent, Canterbury, UK Toby Breckon School of Engineering,

More information

Image processing and features

Image processing and features Image processing and features Gabriele Bleser gabriele.bleser@dfki.de Thanks to Harald Wuest, Folker Wientapper and Marc Pollefeys Introduction Previous lectures: geometry Pose estimation Epipolar geometry

More information

INFS 2150 Introduction to Web Development

INFS 2150 Introduction to Web Development INFS 2150 Introduction to Web Development 4. Graphics and Images Objectives Create a figure box Add a background image Add a border to an element Create rounded borders Create a graphic border Create a

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

INFS 2150 Introduction to Web Development

INFS 2150 Introduction to Web Development Objectives INFS 2150 Introduction to Web Development 4. Graphics and Images Create a figure box Add a background image Add a border to an element Create rounded borders Create a graphic border Create a

More information

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image

More information

Object-Based Classification & ecognition. Zutao Ouyang 11/17/2015

Object-Based Classification & ecognition. Zutao Ouyang 11/17/2015 Object-Based Classification & ecognition Zutao Ouyang 11/17/2015 What is Object-Based Classification The object based image analysis approach delineates segments of homogeneous image areas (i.e., objects)

More information

Computer Graphics Fundamentals. Jon Macey

Computer Graphics Fundamentals. Jon Macey Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in

More information

The feature set you are required to implement in your ray tracer is as follows (by order from easy to hard):

The feature set you are required to implement in your ray tracer is as follows (by order from easy to hard): Ray Tracing exercise TAU, Computer Graphics, 0368.3014, semester B Go to the Updates and FAQ Page Overview The objective of this exercise is to implement a ray casting/tracing engine. Ray tracing is a

More information

Appendix A Canvas Reference

Appendix A Canvas Reference Appendix A Canvas Reference BC2 HTML5 GAMES CREATING FUN WITH HTML5, CSS3, AND WEBGL The Canvas Element See the official W3C specification for full details on the canvas element (www.w3.org/tr/ html5/the-canvas-element.html.

More information

Types of image feature and segmentation

Types of image feature and segmentation COMP3204/COMP6223: Computer Vision Types of image feature and segmentation Jonathon Hare jsh2@ecs.soton.ac.uk Image Feature Morphology Recap: Feature Extractors image goes in Feature Extractor featurevector(s)

More information

Web Programming 1 Packet #5: Canvas and JavaScript

Web Programming 1 Packet #5: Canvas and JavaScript Web Programming 1 Packet #5: Canvas and JavaScript Name: Objectives: By the completion of this packet, students should be able to: use JavaScript to draw on the canvas element Canvas Element. This is a

More information

Image Processing

Image Processing Image Processing 159.731 Canny Edge Detection Report Syed Irfanullah, Azeezullah 00297844 Danh Anh Huynh 02136047 1 Canny Edge Detection INTRODUCTION Edges Edges characterize boundaries and are therefore

More information

Original grey level r Fig.1

Original grey level r Fig.1 Point Processing: In point processing, we work with single pixels i.e. T is 1 x 1 operator. It means that the new value f(x, y) depends on the operator T and the present f(x, y). Some of the common examples

More information

Data Representation From 0s and 1s to images CPSC 101

Data Representation From 0s and 1s to images CPSC 101 Data Representation From 0s and 1s to images CPSC 101 Learning Goals After the Data Representation: Images unit, you will be able to: Recognize and translate between binary and decimal numbers Define bit,

More information

Lecture 14: Computer Vision

Lecture 14: Computer Vision CS/b: Artificial Intelligence II Prof. Olga Veksler Lecture : Computer Vision D shape from Images Stereo Reconstruction Many Slides are from Steve Seitz (UW), S. Narasimhan Outline Cues for D shape perception

More information

Edge Detection. Whitepaper

Edge Detection. Whitepaper Public Imagination Technologies Edge Detection Copyright Imagination Technologies Limited. All Rights Reserved. This publication contains proprietary information which is subject to change without notice

More information

Computer and Machine Vision

Computer and Machine Vision Computer and Machine Vision Lecture Week 4 Part-2 February 5, 2014 Sam Siewert Outline of Week 4 Practical Methods for Dealing with Camera Streams, Frame by Frame and De-coding/Re-encoding for Analysis

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

Massachusetts Institute of Technology. Department of Computer Science and Electrical Engineering /6.866 Machine Vision Quiz I

Massachusetts Institute of Technology. Department of Computer Science and Electrical Engineering /6.866 Machine Vision Quiz I Massachusetts Institute of Technology Department of Computer Science and Electrical Engineering 6.801/6.866 Machine Vision Quiz I Handed out: 2004 Oct. 21st Due on: 2003 Oct. 28th Problem 1: Uniform reflecting

More information

EE663 Image Processing Histogram Equalization I

EE663 Image Processing Histogram Equalization I EE663 Image Processing Histogram Equalization I Dr. Samir H. Abdul-Jauwad Electrical Engineering Department College of Engineering Sciences King Fahd University of Petroleum & Minerals Dhahran Saudi Arabia

More information

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4 Advanced Video Content Analysis and Video Compression (5LSH0), Module 4 Visual feature extraction Part I: Color and texture analysis Sveta Zinger Video Coding and Architectures Research group, TU/e ( s.zinger@tue.nl

More information

Data Visualization (DSC 530/CIS )

Data Visualization (DSC 530/CIS ) Data Visualization (DSC 530/CIS 602-02) Web Programming Dr. David Koop 2 What languages do we use on the Web? 3 Languages of the Web HTML CSS SVG JavaScript - Versions of Javascript: ES6, ES2015, ES2017

More information

PART 1. Answers module 6: 'Transformations'

PART 1. Answers module 6: 'Transformations' Answers module 6: 'Transformations' PART 1 1 a A nominal measure scale refers to data that are in named categories. There is no order among these categories. That is, no category is better or more than

More information

Computer Vision. Recap: Smoothing with a Gaussian. Recap: Effect of σ on derivatives. Computer Science Tripos Part II. Dr Christopher Town

Computer Vision. Recap: Smoothing with a Gaussian. Recap: Effect of σ on derivatives. Computer Science Tripos Part II. Dr Christopher Town Recap: Smoothing with a Gaussian Computer Vision Computer Science Tripos Part II Dr Christopher Town Recall: parameter σ is the scale / width / spread of the Gaussian kernel, and controls the amount of

More information

11. Image Data Analytics. Jacobs University Visualization and Computer Graphics Lab

11. Image Data Analytics. Jacobs University Visualization and Computer Graphics Lab 11. Image Data Analytics Motivation Images (and even videos) have become a popular data format for storing information digitally. Data Analytics 377 Motivation Traditionally, scientific and medical imaging

More information

The. Handbook ijthbdition. John C. Russ. North Carolina State University Materials Science and Engineering Department Raleigh, North Carolina

The. Handbook ijthbdition. John C. Russ. North Carolina State University Materials Science and Engineering Department Raleigh, North Carolina The IMAGE PROCESSING Handbook ijthbdition John C. Russ North Carolina State University Materials Science and Engineering Department Raleigh, North Carolina (cp ) Taylor &. Francis \V J Taylor SiFrancis

More information

UNIT - 5 IMAGE ENHANCEMENT IN SPATIAL DOMAIN

UNIT - 5 IMAGE ENHANCEMENT IN SPATIAL DOMAIN UNIT - 5 IMAGE ENHANCEMENT IN SPATIAL DOMAIN Spatial domain methods Spatial domain refers to the image plane itself, and approaches in this category are based on direct manipulation of pixels in an image.

More information

A Visual Programming Environment for Machine Vision Engineers. Paul F Whelan

A Visual Programming Environment for Machine Vision Engineers. Paul F Whelan A Visual Programming Environment for Machine Vision Engineers Paul F Whelan Vision Systems Group School of Electronic Engineering, Dublin City University, Dublin 9, Ireland. Ph: +353 1 700 5489 Fax: +353

More information

SuRVoS Workbench. Super-Region Volume Segmentation. Imanol Luengo

SuRVoS Workbench. Super-Region Volume Segmentation. Imanol Luengo SuRVoS Workbench Super-Region Volume Segmentation Imanol Luengo Index - The project - What is SuRVoS - SuRVoS Overview - What can it do - Overview of the internals - Current state & Limitations - Future

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

Aliasing. Can t draw smooth lines on discrete raster device get staircased lines ( jaggies ):

Aliasing. Can t draw smooth lines on discrete raster device get staircased lines ( jaggies ): (Anti)Aliasing and Image Manipulation for (y = 0; y < Size; y++) { for (x = 0; x < Size; x++) { Image[x][y] = 7 + 8 * sin((sqr(x Size) + SQR(y Size)) / 3.0); } } // Size = Size / ; Aliasing Can t draw

More information

Texture. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors

Texture. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors Texture The most fundamental question is: How can we measure texture, i.e., how can we quantitatively distinguish between different textures? Of course it is not enough to look at the intensity of individual

More information

Raycasting. Chapter Raycasting foundations. When you look at an object, like the ball in the picture to the left, what do

Raycasting. Chapter Raycasting foundations. When you look at an object, like the ball in the picture to the left, what do Chapter 4 Raycasting 4. Raycasting foundations When you look at an, like the ball in the picture to the left, what do lamp you see? You do not actually see the ball itself. Instead, what you see is the

More information

Prof. Fanny Ficuciello Robotics for Bioengineering Visual Servoing

Prof. Fanny Ficuciello Robotics for Bioengineering Visual Servoing Visual servoing vision allows a robotic system to obtain geometrical and qualitative information on the surrounding environment high level control motion planning (look-and-move visual grasping) low level

More information

Image Processing, Analysis and Machine Vision

Image Processing, Analysis and Machine Vision Image Processing, Analysis and Machine Vision Milan Sonka PhD University of Iowa Iowa City, USA Vaclav Hlavac PhD Czech Technical University Prague, Czech Republic and Roger Boyle DPhil, MBCS, CEng University

More information

Medical Image Processing using MATLAB

Medical Image Processing using MATLAB Medical Image Processing using MATLAB Emilia Dana SELEŢCHI University of Bucharest, Romania ABSTRACT 2. 3. 2. IMAGE PROCESSING TOOLBOX MATLAB and the Image Processing Toolbox provide a wide range of advanced

More information

Transportation Informatics Group, ALPEN-ADRIA University of Klagenfurt. Transportation Informatics Group University of Klagenfurt 12/24/2009 1

Transportation Informatics Group, ALPEN-ADRIA University of Klagenfurt. Transportation Informatics Group University of Klagenfurt 12/24/2009 1 Machine Vision Transportation Informatics Group University of Klagenfurt Alireza Fasih, 2009 12/24/2009 1 Address: L4.2.02, Lakeside Park, Haus B04, Ebene 2, Klagenfurt-Austria 2D Shape Based Matching

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Part 9: Representation and Description AASS Learning Systems Lab, Dep. Teknik Room T1209 (Fr, 11-12 o'clock) achim.lilienthal@oru.se Course Book Chapter 11 2011-05-17 Contents

More information

Image Processing and Analysis

Image Processing and Analysis Image Processing and Analysis 3 stages: Image Restoration - correcting errors and distortion. Warping and correcting systematic distortion related to viewing geometry Correcting "drop outs", striping and

More information

COSC160: Detection and Classification. Jeremy Bolton, PhD Assistant Teaching Professor

COSC160: Detection and Classification. Jeremy Bolton, PhD Assistant Teaching Professor COSC160: Detection and Classification Jeremy Bolton, PhD Assistant Teaching Professor Outline I. Problem I. Strategies II. Features for training III. Using spatial information? IV. Reducing dimensionality

More information

CMPUT 206. Introduction to Digital Image Processing

CMPUT 206. Introduction to Digital Image Processing CMPUT 206 Introduction to Digital Image Processing Overview. What is a pixel in an image? 2. How does Photoshop, + human assistance, detect an edge in a picture/photograph? 3. Behind Photoshop - How does

More information

CS4442/9542b Artificial Intelligence II prof. Olga Veksler

CS4442/9542b Artificial Intelligence II prof. Olga Veksler CS4442/9542b Artificial Intelligence II prof. Olga Veksler Lecture 2 Computer Vision Introduction, Filtering Some slides from: D. Jacobs, D. Lowe, S. Seitz, A.Efros, X. Li, R. Fergus, J. Hayes, S. Lazebnik,

More information

Assignment 6: Ray Tracing

Assignment 6: Ray Tracing Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.

More information

Artifacts and Textured Region Detection

Artifacts and Textured Region Detection Artifacts and Textured Region Detection 1 Vishal Bangard ECE 738 - Spring 2003 I. INTRODUCTION A lot of transformations, when applied to images, lead to the development of various artifacts in them. In

More information

OpenGL shaders and programming models that provide object persistence

OpenGL shaders and programming models that provide object persistence OpenGL shaders and programming models that provide object persistence COSC342 Lecture 22 19 May 2016 OpenGL shaders We discussed forms of local illumination in the ray tracing lectures. We also saw that

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

OCR and OCV. Tom Brennan Artemis Vision Artemis Vision 781 Vallejo St Denver, CO (303)

OCR and OCV. Tom Brennan Artemis Vision Artemis Vision 781 Vallejo St Denver, CO (303) OCR and OCV Tom Brennan Artemis Vision Artemis Vision 781 Vallejo St Denver, CO 80204 (303)832-1111 tbrennan@artemisvision.com www.artemisvision.com About Us Machine Vision Integrator Turnkey Systems OEM

More information

Depth estimation from stereo image pairs

Depth estimation from stereo image pairs Depth estimation from stereo image pairs Abhranil Das In this report I shall first present some analytical results concerning depth estimation from stereo image pairs, then describe a simple computational

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

Chapter 3: Intensity Transformations and Spatial Filtering

Chapter 3: Intensity Transformations and Spatial Filtering Chapter 3: Intensity Transformations and Spatial Filtering 3.1 Background 3.2 Some basic intensity transformation functions 3.3 Histogram processing 3.4 Fundamentals of spatial filtering 3.5 Smoothing

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

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations Multimedia Systems 03 Vector Graphics 2D and 3D Graphics, Transformations Imran Ihsan Assistant Professor, Department of Computer Science Air University, Islamabad, Pakistan www.imranihsan.com Lectures

More information

Chapter 6 Visualization Techniques for Vector Fields

Chapter 6 Visualization Techniques for Vector Fields Chapter 6 Visualization Techniques for Vector Fields 6.1 Introduction 6.2 Vector Glyphs 6.3 Particle Advection 6.4 Streamlines 6.5 Line Integral Convolution 6.6 Vector Topology 6.7 References 2006 Burkhard

More information

Surface Rendering. Surface Rendering

Surface Rendering. Surface Rendering Surface Rendering Surface Rendering Introduce Mapping Methods - Texture Mapping - Environmental Mapping - Bump Mapping Go over strategies for - Forward vs backward mapping 2 1 The Limits of Geometric Modeling

More information

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013 Feature Descriptors CS 510 Lecture #21 April 29 th, 2013 Programming Assignment #4 Due two weeks from today Any questions? How is it going? Where are we? We have two umbrella schemes for object recognition

More information

Computer Vision & Digital Image Processing. Image segmentation: thresholding

Computer Vision & Digital Image Processing. Image segmentation: thresholding Computer Vision & Digital Image Processing Image Segmentation: Thresholding Dr. D. J. Jackson Lecture 18-1 Image segmentation: thresholding Suppose an image f(y) is composed of several light objects on

More information

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination Rendering Pipeline 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination 3D Polygon Rendering What steps are necessary to utilize spatial coherence while drawing

More information

the gamedesigninitiative at cornell university Lecture 16 Color and Textures

the gamedesigninitiative at cornell university Lecture 16 Color and Textures Lecture 6 Color and Textures Take Away For Today Image color and composition What is RGB model for images? What does alpha represent? How does alpha composition work? Graphics primitives How do primitives

More information

: Easy 3D Calibration of laser triangulation systems. Fredrik Nilsson Product Manager, SICK, BU Vision

: Easy 3D Calibration of laser triangulation systems. Fredrik Nilsson Product Manager, SICK, BU Vision : Easy 3D Calibration of laser triangulation systems Fredrik Nilsson Product Manager, SICK, BU Vision Using 3D for Machine Vision solutions : 3D imaging is becoming more important and well accepted for

More information

Scheme Extensions Aa thru Lz

Scheme Extensions Aa thru Lz Chapter 2. Scheme Extensions Aa thru Lz Topic: Ignore Scheme is a public domain programming language, based on the LISP language, that uses an interpreter to run commands. ACIS provides extensions (written

More information

the gamedesigninitiative at cornell university Lecture 17 Color and Textures

the gamedesigninitiative at cornell university Lecture 17 Color and Textures Lecture 7 Color and Textures Take Away For Today Image color and composition What is RGB model for images? What does alpha represent? How does alpha composition work? Graphics primitives How do primitives

More information

Computer Vision and Graphics (ee2031) Digital Image Processing I

Computer Vision and Graphics (ee2031) Digital Image Processing I Computer Vision and Graphics (ee203) Digital Image Processing I Dr John Collomosse J.Collomosse@surrey.ac.uk Centre for Vision, Speech and Signal Processing University of Surrey Learning Outcomes After

More information

Computer Graphics and Image Processing

Computer Graphics and Image Processing Computer Graphics and Image Processing Lecture B2 Point Processing Joseph Niepce, 1826. The view from my window 1 Context How much input is used to compute an output value? Point Transforms Region Transforms

More information

Review: Rough Structure

Review: Rough Structure Break Out Canvas Tutorial con/nue Simple Game: Break Out Animate, Game Elements ª Breakout ª Bill Mill Modified Tutorial So?ware developer in Maryland Elements: ª Color ª Collision Detec/on ª Interac/on

More information

Lecture: Edge Detection

Lecture: Edge Detection CMPUT 299 Winter 2007 Lecture: Edge Detection Irene Cheng Overview. What is a pixel in an image? 2. How does Photoshop, + human assistance, detect an edge in a picture/photograph? 3. Behind Photoshop -

More information

Segmenting an Image Assigning labels to pixels (cat, ball, floor) Point processing: Lecture 3: Region Based Vision. Overview

Segmenting an Image Assigning labels to pixels (cat, ball, floor) Point processing: Lecture 3: Region Based Vision. Overview Slide 2 Lecture 3: Region Based Vision Dr Carole Twining Thursday 18th March 1:00pm 1:50pm Segmenting an Image Assigning labels to pixels (cat, ball, floor) Point processing: colour or grayscale values,

More information

(Refer Slide Time 00:17) Welcome to the course on Digital Image Processing. (Refer Slide Time 00:22)

(Refer Slide Time 00:17) Welcome to the course on Digital Image Processing. (Refer Slide Time 00:22) Digital Image Processing Prof. P. K. Biswas Department of Electronics and Electrical Communications Engineering Indian Institute of Technology, Kharagpur Module Number 01 Lecture Number 02 Application

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

Chapter4: HTML Table and Script page, HTML5 new forms. Asst. Prof. Dr. Supakit Nootyaskool Information Technology, KMITL

Chapter4: HTML Table and Script page, HTML5 new forms. Asst. Prof. Dr. Supakit Nootyaskool Information Technology, KMITL Chapter4: HTML Table and Script page, HTML5 new forms Asst. Prof. Dr. Supakit Nootyaskool Information Technology, KMITL Objective To know HTML5 creating a new style form. To understand HTML table benefits

More information

Object Oriented Shadow Detection and an Enhanced Method for Shadow Removal

Object Oriented Shadow Detection and an Enhanced Method for Shadow Removal Object Oriented Shadow Detection and an Enhanced Method for Shadow Removal Divya S Kumar Department of Computer Science and Engineering Sree Buddha College of Engineering, Alappuzha, India divyasreekumar91@gmail.com

More information

mith College Computer Science CSC103 How Computers Work Week 7 Fall 2017 Dominique Thiébaut

mith College Computer Science CSC103 How Computers Work Week 7 Fall 2017 Dominique Thiébaut mith College Computer Science CSC103 How Computers Work Week 7 Fall 2017 Dominique Thiébaut dthiebaut@smith.edu Important Review Does the animation leave a trace? Are the moving objects move without a

More information

The use of image analysis to quantify the orientation of cracks in concrete

The use of image analysis to quantify the orientation of cracks in concrete Downloaded from orbit.dtu.dk on: Jan 24, 2018 The use of image analysis to quantify the orientation of cracks in concrete Andreassen, Einar N. ; Elbrønd, Andreas B.; Hasholt, Marianne Tange Published in:

More information

CS4442/9542b Artificial Intelligence II prof. Olga Veksler

CS4442/9542b Artificial Intelligence II prof. Olga Veksler CS4442/9542b Artificial Intelligence II prof. Olga Veksler Lecture 8 Computer Vision Introduction, Filtering Some slides from: D. Jacobs, D. Lowe, S. Seitz, A.Efros, X. Li, R. Fergus, J. Hayes, S. Lazebnik,

More information

Geometric Accuracy Evaluation, DEM Generation and Validation for SPOT-5 Level 1B Stereo Scene

Geometric Accuracy Evaluation, DEM Generation and Validation for SPOT-5 Level 1B Stereo Scene Geometric Accuracy Evaluation, DEM Generation and Validation for SPOT-5 Level 1B Stereo Scene Buyuksalih, G.*, Oruc, M.*, Topan, H.*,.*, Jacobsen, K.** * Karaelmas University Zonguldak, Turkey **University

More information