CS 111: Programing Assignment 4

Size: px
Start display at page:

Download "CS 111: Programing Assignment 4"

Transcription

1 CS 111: Programing Assignment 4 This programming assignment is focused on geometric transformation and histogram processes. You should submit the output images in a ZIP file (not rar or other file compression conventions) and drop it into EEE dropbox for PA4. You will NOT allowed to use any OpenCV functions unless you are told to do in pa4.cpp. In this assignment you only work with gray images. So, use CV_LOAD_IMAGE_GRAYSCALE when reading your images. Histogram Equalization: I. Histogram Matching a. Histogram equalization is a special case of histogram matching. In histogram matching we have a current histogram (the histogram of our image) and a target histogram. The goal is to change the pixel values of the current image such that the current histogram becomes similar to the target histogram. b. To perform histogram matching, we first calculate the Cumlative Distrbution Function (CDF) of both current and target histograms. If we devide the histogram of an imge by the number of pixels in that image, we get a Probaiblity Density Function (PDF). The sum of PDF values is 1. If an image has H pixels and the histogram is: Then, by dividing each bin by the number of pixels you will get the PDF as: Page 1

2 Then, by calculating the cumulative sum CDF(h) = h 0 PDF(i) is: c. Once we have the CDF of the current and target histograms, then we can find the mapping to perform the histogram matching. For each gray level in the current image you should find its CDF value, and then find its CDF value equivalent gray level in the target CDF. For example, in the image below a gray level x is chosen. It s CDF value is equal to CDF value of gray level y. Therefore, x should be mapped into y. Assume the current CDF is shown by function F and the target CDF is function G. Then the relation between x and y is y = G 1 (F(x)) II. Histogram Equalization a. It is desirable that the probibility distribution of gray levels be equally distributed. If so, the image utilizes the dynamic range of possible values (e.g ) and will have optimal contrast. The equally distributed histogram PDF and CDF are as follows: Page 2

3 b. Here, when you are working with discrete values, the PDF and CDF will be discrete functions (bar histogram in earlier images) and when you want to find the equall CDF value between the current and target CDF they may not match. In this assignment you should search for closest CDF value. Absolutely, you can implement smart search algorithms since the CDF is always non-decreasing, however in this assignment you can just do simple linear search. c. You should write the function Mat HistogramEqualization(Mat I) that gets an image at input and return the histogram equalized output image. This function is composed of multiple functions that you should complete for this section i. FindPDF: Input is the gray image and output is the histogram in the format of pdf ii. FindCDF: Input is the pdf and output is the CDF iii. FindEqualMapping: Input is the cdf and output is the mapping after equalization iv. ApplyEqualization: Input is the image and mapping, it applies the mapping on the image and returns the eualized image. Mat FindPDF(Mat I); Mat FindCDF(Mat pdf); Mat FindEqualMapping(Mat cdf); Mat ApplyEqualization(Mat I, Mat mapping) Mat HistogramEqualization(Mat I) { Mat currpdf = FindPDF(I); Mat currcdf = FindCDF(currPDF); Mat eqmap = FindEqualMapping(currCDF); Mat output = ApplyEqualization(I, eqmap); return output; } Page 3

4 Complete all four functions that compose the HistogramEqualization function in pa4.cpp, and apply it on the input image aerial.png. You should submit the output image aerial_eq.png along with the codes in pa4.cpp in your submitted zip file. Geometric Transformation III. Bi-linear Interpolation a. In geometric transformation, we assume the image a 2D function that has a value for each point on the 2D grid. b. The transformation maps a 2D point to another 2D point. T(x, y) (x, y ) If (x, y ) is on the grid, we can easily find its value, but it needs a general solution for real numbers. The (x, y ) can be anywhere on the 2D space not limited to the integers (grid numbers). If the query point (x, y ) is inside the range of the image (x: 0 to N-1, y: 0 to M 1, for a MxN image) then the operation of finding the value for query point is interpolation. If the query point is outside the coordinates of the image the operation for finding the value is called extrapolation. c. One simplest method of interpolation is called nearest neighbor. In this method you will assign the value of the closest grid point to the query point. Because of poor result and blockiness nature of this interpolation method, it is used very rarely. d. One important and widely used methods for interpolation is called billinear interpolation. In this method it is assumed that each grid block creates a 2D linear function and we can find the value for the query points in each block of the grid. Page 4

5 e. In 1D linear interpolation you can estimate the query value between known values. In this example we want to linearly interpolate the value at 1.25, which is between 1 and 2. V(1.25) = (1.25 1)1 + (2 1.25)3 = = 2.5 f. In 2D, we calculate the liner interpolation in one direction and then for the top and bottom boundaries and then we calculate it becomes a 1D interpolation problem, as follows: v(q 1 ) = (x q x 1 )v 2 + (x 2 x q )v 1 Then, v(q 2 ) = (x q x 1 )v 4 + (x 2 x q )v 3 v(q) = (y q y 1 )v(q 2 ) + (y 2 y q )v(q 1 ) IV. Image Resizing a. Suppose we want to resize an image to twice of its current size. Since we will have more pixels in the output, we should interpolate the values between the pixels. In this work we will perform a bi-linear interpolation. To resize and image we place the four corners of the output image on the same coordinates of the four corners of the input image and then interpolate all the output pixels. b. Assume you have 4x4 image and now you want to resize it to 6x6. The four corners of the output image(6x6) is placed on the four corners of the input image (4x4) and all output pixels (black dots) are within the range of the input image pixels (circles). In the following image, you can see how the query coordinates are placed. Page 5

6 c. In this assignment you should write a function that sclaes the input image into s times of its input size. The function Mat Resize(Mat I, float s). You should first fill in the X and Y Mat s that contained the query point coordinates. Then you should calculate the query value by using bi-linear interpolation. Mat Resize(Mat I, float s) Complete the function Resize(Mat I, float s) in the pa4.cpp, and apply on the input image aerial.png and wite it in aerial_640.png. Submit the code and the output image in the zip file. Page 6

Digital Image Processing

Digital Image Processing Digital Image Processing Intensity Transformations (Histogram Processing) Christophoros Nikou cnikou@cs.uoi.gr University of Ioannina - Department of Computer Science and Engineering 2 Contents Over the

More information

Intensity Transformations and Spatial Filtering

Intensity Transformations and Spatial Filtering 77 Chapter 3 Intensity Transformations and Spatial Filtering Spatial domain refers to the image plane itself, and image processing methods in this category are based on direct manipulation of pixels in

More information

Image Enhancement 3-1

Image Enhancement 3-1 Image Enhancement The goal of image enhancement is to improve the usefulness of an image for a given task, such as providing a more subjectively pleasing image for human viewing. In image enhancement,

More information

Sampling and Reconstruction

Sampling and Reconstruction Sampling and Reconstruction Sampling and Reconstruction Sampling and Spatial Resolution Spatial Aliasing Problem: Spatial aliasing is insufficient sampling of data along the space axis, which occurs because

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

CS 335 Graphics and Multimedia. Geometric Warping

CS 335 Graphics and Multimedia. Geometric Warping CS 335 Graphics and Multimedia Geometric Warping Geometric Image Operations Eample transformations Straightforward methods and their problems The affine transformation Transformation algorithms: Forward

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

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

Lecture 4. Digital Image Enhancement. 1. Principle of image enhancement 2. Spatial domain transformation. Histogram processing

Lecture 4. Digital Image Enhancement. 1. Principle of image enhancement 2. Spatial domain transformation. Histogram processing Lecture 4 Digital Image Enhancement 1. Principle of image enhancement 2. Spatial domain transformation Basic intensity it tranfomation ti Histogram processing Principle Objective of Enhancement Image enhancement

More information

Announcements. Image Matching! Source & Destination Images. Image Transformation 2/ 3/ 16. Compare a big image to a small image

Announcements. Image Matching! Source & Destination Images. Image Transformation 2/ 3/ 16. Compare a big image to a small image 2/3/ Announcements PA is due in week Image atching! Leave time to learn OpenCV Think of & implement something creative CS 50 Lecture #5 February 3 rd, 20 2/ 3/ 2 Compare a big image to a small image So

More information

Ulrik Söderström 17 Jan Image Processing. Introduction

Ulrik Söderström 17 Jan Image Processing. Introduction Ulrik Söderström ulrik.soderstrom@tfe.umu.se 17 Jan 2017 Image Processing Introduction Image Processsing Typical goals: Improve images for human interpretation Image processing Processing of images for

More information

Image Enhancement: To improve the quality of images

Image Enhancement: To improve the quality of images Image Enhancement: To improve the quality of images Examples: Noise reduction (to improve SNR or subjective quality) Change contrast, brightness, color etc. Image smoothing Image sharpening Modify image

More information

Binary representation and data

Binary representation and data Binary representation and data Loriano Storchi loriano@storchi.org http:://www.storchi.org/ Binary representation of numbers In a positional numbering system given the base this directly defines the number

More information

The simplest and most obvious method to go from a continuous to a discrete image is by point sampling,

The simplest and most obvious method to go from a continuous to a discrete image is by point sampling, Sampling our scenes are described with triangles giving a continuous 2d color field our images are digital/discrete made up of a grid of dots need to make a bridge between these two worlds else we will

More information

INTENSITY TRANSFORMATION AND SPATIAL FILTERING

INTENSITY TRANSFORMATION AND SPATIAL FILTERING 1 INTENSITY TRANSFORMATION AND SPATIAL FILTERING Lecture 3 Image Domains 2 Spatial domain Refers to the image plane itself Image processing methods are based and directly applied to image pixels Transform

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

Brightness and geometric transformations

Brightness and geometric transformations Brightness and geometric transformations Václav Hlaváč Czech Technical University in Prague Czech Institute of Informatics, Robotics and Cybernetics 166 36 Prague 6, Jugoslávských partyzánů 1580/3, Czech

More information

CS1114 Assignment 5 Part 1

CS1114 Assignment 5 Part 1 CS1114 Assignment 5 Part 1 out: Friday, March 30, 2012. due: Friday, April 6, 2012, 9PM. This assignment covers two topics: upscaling pixel art and steganography. This document is organized into those

More information

3.3 Histogram Processing(page 142) h(r k )=n k. p(r k )=1

3.3 Histogram Processing(page 142) h(r k )=n k. p(r k )=1 Image enhancement in the spatial domain(3.3) SLIDE 1/18 Histogram 3.3 Histogram Processing(page 142) h(r k )=n k r k : kthgraylevel n k : numberofpixelsofgraylevelr k Normalization Discrete PDF MN: totalnumberofpixels

More information

Digital Image Processing, 2nd ed. Digital Image Processing, 2nd ed. The principal objective of enhancement

Digital Image Processing, 2nd ed. Digital Image Processing, 2nd ed. The principal objective of enhancement Chapter 3 Image Enhancement in the Spatial Domain The principal objective of enhancement to process an image so that the result is more suitable than the original image for a specific application. Enhancement

More information

Page 129 Exercise 5: Suppose that the joint p.d.f. of two random variables X and Y is as follows: { c(x. 0 otherwise. ( 1 = c. = c

Page 129 Exercise 5: Suppose that the joint p.d.f. of two random variables X and Y is as follows: { c(x. 0 otherwise. ( 1 = c. = c Stat Solutions for Homework Set Page 9 Exercise : Suppose that the joint p.d.f. of two random variables X and Y is as follows: { cx fx, y + y for y x, < x < otherwise. Determine a the value of the constant

More information

1. (10 pts) Order the following three images by how much memory they occupy:

1. (10 pts) Order the following three images by how much memory they occupy: CS 47 Prelim Tuesday, February 25, 2003 Problem : Raster images (5 pts). (0 pts) Order the following three images by how much memory they occupy: A. a 2048 by 2048 binary image B. a 024 by 024 grayscale

More information

Interpolation, extrapolation, etc.

Interpolation, extrapolation, etc. Interpolation, extrapolation, etc. Prof. Ramin Zabih http://cs100r.cs.cornell.edu Administrivia Assignment 5 is out, due Wednesday A6 is likely to involve dogs again Monday sections are now optional Will

More information

SIFT - scale-invariant feature transform Konrad Schindler

SIFT - scale-invariant feature transform Konrad Schindler SIFT - scale-invariant feature transform Konrad Schindler Institute of Geodesy and Photogrammetry Invariant interest points Goal match points between images with very different scale, orientation, projective

More information

Introduction to Digital Image Processing

Introduction to Digital Image Processing Introduction to Digital Image Processing Ranga Rodrigo June 9, 29 Outline Contents Introduction 2 Point Operations 2 Histogram Processing 5 Introduction We can process images either in spatial domain or

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Lecture # 4 Digital Image Fundamentals - II ALI JAVED Lecturer SOFTWARE ENGINEERING DEPARTMENT U.E.T TAXILA Email:: ali.javed@uettaxila.edu.pk Office Room #:: 7 Presentation Outline

More information

PyPlot. The plotting library must be imported, and we will assume in these examples an import statement similar to those for numpy and math as

PyPlot. The plotting library must be imported, and we will assume in these examples an import statement similar to those for numpy and math as Geog 271 Geographic Data Analysis Fall 2015 PyPlot Graphicscanbeproducedin Pythonviaavarietyofpackages. We willuseapythonplotting package that is part of MatPlotLib, for which documentation can be found

More information

Problem 1 (10 Points)

Problem 1 (10 Points) Problem 1 (10 Points) Please explain the following phenomena. The three images shown are the blurred versions of image (a) (Note: vertical bars have width of 5 and height of 100, they are spaced 20 pixels

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

Chapter 18. Geometric Operations

Chapter 18. Geometric Operations Chapter 18 Geometric Operations To this point, the image processing operations have computed the gray value (digital count) of the output image pixel based on the gray values of one or more input pixels;

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

Comparative Study of Linear and Non-linear Contrast Enhancement Techniques

Comparative Study of Linear and Non-linear Contrast Enhancement Techniques Comparative Study of Linear and Non-linear Contrast Kalpit R. Chandpa #1, Ashwini M. Jani #2, Ghanshyam I. Prajapati #3 # Department of Computer Science and Information Technology Shri S ad Vidya Mandal

More information

Lecture 10: Tutorial Sakrapee (Paul) Paisitkriangkrai Evan Tan A/Prof. Jian Zhang

Lecture 10: Tutorial Sakrapee (Paul) Paisitkriangkrai Evan Tan A/Prof. Jian Zhang Lecture : Tutorial Sakrapee (Paul) Paisitkriangkrai Evan Tan A/Prof. Jian Zhang NICTA & CSE UNSW COMP959 Multimedia Systems S 9 jzhang@cse.unsw.edu.au Part I: Media Streaming Evan Tan Acknowledgement:

More information

CS 112: Computer System Modeling Fundamentals. Prof. Jenn Wortman Vaughan April 21, 2011 Lecture 8

CS 112: Computer System Modeling Fundamentals. Prof. Jenn Wortman Vaughan April 21, 2011 Lecture 8 CS 112: Computer System Modeling Fundamentals Prof. Jenn Wortman Vaughan April 21, 2011 Lecture 8 Quiz #2 Reminders & Announcements Homework 2 is due in class on Tuesday be sure to check the posted homework

More information

Line Drawing Week 6, Lecture 9

Line Drawing Week 6, Lecture 9 CS 536 Computer Graphics Line Drawing Week 6, Lecture 9 David Breen, William Regli and axim Peysakhov Department of Computer Science Drexel University Outline Line drawing Digital differential analyzer

More information

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale. Distinctive Image Features from Scale-Invariant Keypoints David G. Lowe presented by, Sudheendra Invariance Intensity Scale Rotation Affine View point Introduction Introduction SIFT (Scale Invariant Feature

More information

Lecture #5. Point transformations (cont.) Histogram transformations. Intro to neighborhoods and spatial filtering

Lecture #5. Point transformations (cont.) Histogram transformations. Intro to neighborhoods and spatial filtering Lecture #5 Point transformations (cont.) Histogram transformations Equalization Specification Local vs. global operations Intro to neighborhoods and spatial filtering Brightness & Contrast 2002 R. C. Gonzalez

More information

Lab 1: Elementary image operations

Lab 1: Elementary image operations CSC, KTH DD2423 Image Analysis and Computer Vision : Lab 1: Elementary image operations The goal of the labs is to gain practice with some of the fundamental techniques in image processing on grey-level

More information

Circle inversion fractals are based on the geometric operation of inversion of a point with respect to a circle, shown schematically in Fig. 1.

Circle inversion fractals are based on the geometric operation of inversion of a point with respect to a circle, shown schematically in Fig. 1. MSE 350 Creating a Circle Inversion Fractal Instructor: R.G. Erdmann In this project, you will create a self-inverse fractal using an iterated function system (IFS). 1 Background: Circle Inversion Circle

More information

How to Use the Explore Service Area Tool: By Geography.

How to Use the Explore Service Area Tool: By Geography. How to Use the Explore Service Area Tool: By Geography How to Use the Explore Service Area Tool: By Geography 2 Acronyms Used in This Lesson Acronym UDS ZCTA What It Stands For Uniform Data System ZIP

More information

Department of Computer Sciences Graphics Fall 2003 (Lecture 2) Pixels

Department of Computer Sciences Graphics Fall 2003 (Lecture 2) Pixels Pixels Pixel: Intensity or color sample. Raster Image: Rectangular grid of pixels. Rasterization: Conversion of a primitive s geometric representation into A set of pixels. An intensity or color for each

More information

1. Introduction to the OpenCV library

1. Introduction to the OpenCV library Image Processing - Laboratory 1: Introduction to the OpenCV library 1 1. Introduction to the OpenCV library 1.1. Introduction The purpose of this laboratory is to acquaint the students with the framework

More information

1. Complete these exercises to practice creating user functions in small sketches.

1. Complete these exercises to practice creating user functions in small sketches. Lab 6 Due: Fri, Nov 4, 9 AM Consult the Standard Lab Instructions on LEARN for explanations of Lab Days ( D1, D2, D3 ), the Processing Language and IDE, and Saving and Submitting. Rules: Do not use the

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

Voronoi Region. K-means method for Signal Compression: Vector Quantization. Compression Formula 11/20/2013

Voronoi Region. K-means method for Signal Compression: Vector Quantization. Compression Formula 11/20/2013 Voronoi Region K-means method for Signal Compression: Vector Quantization Blocks of signals: A sequence of audio. A block of image pixels. Formally: vector example: (0.2, 0.3, 0.5, 0.1) A vector quantizer

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

Last week. Multi-Frame Structure from Motion: Multi-View Stereo. Unknown camera viewpoints

Last week. Multi-Frame Structure from Motion: Multi-View Stereo. Unknown camera viewpoints Last week Multi-Frame Structure from Motion: Multi-View Stereo Unknown camera viewpoints Last week PCA Today Recognition Today Recognition Recognition problems What is it? Object detection Who is it? Recognizing

More information

Institute of Biocybernetics & Biomedical Engineering Polish Academy of Sciences. The MeMoExplorer

Institute of Biocybernetics & Biomedical Engineering Polish Academy of Sciences. The MeMoExplorer Institute of Biocybernetics & Biomedical Engineering Polish Academy of Sciences The MeMoExplorer An Advanced Membrane Morphology Software wersja 18.5.5.0 User Guide About the program (2) Installation and

More information

PyPlot. The plotting library must be imported, and we will assume in these examples an import statement similar to those for numpy and math as

PyPlot. The plotting library must be imported, and we will assume in these examples an import statement similar to those for numpy and math as Geog 271 Geographic Data Analysis Fall 2017 PyPlot Graphicscanbeproducedin Pythonviaavarietyofpackages. We willuseapythonplotting package that is part of MatPlotLib, for which documentation can be found

More information

Local Features: Detection, Description & Matching

Local Features: Detection, Description & Matching Local Features: Detection, Description & Matching Lecture 08 Computer Vision Material Citations Dr George Stockman Professor Emeritus, Michigan State University Dr David Lowe Professor, University of British

More information

Sampling, Aliasing, & Mipmaps

Sampling, Aliasing, & Mipmaps Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere What is a Pixel? Sampling & Reconstruction Filters in Computer Graphics

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Part 2: Image Enhancement in the Spatial Domain AASS Learning Systems Lab, Dep. Teknik Room T1209 (Fr, 11-12 o'clock) achim.lilienthal@oru.se Course Book Chapter 3 2011-04-06 Contents

More information

RASTER ANALYSIS GIS Analysis Winter 2016

RASTER ANALYSIS GIS Analysis Winter 2016 RASTER ANALYSIS GIS Analysis Winter 2016 Raster Data The Basics Raster Data Format Matrix of cells (pixels) organized into rows and columns (grid); each cell contains a value representing information.

More information

CS 445 HW#6 Solutions

CS 445 HW#6 Solutions CS 445 HW#6 Solutions Text problem 6.1 From the figure, x = 0.43 and y = 0.4. Since x + y + z = 1, it follows that z = 0.17. These are the trichromatic coefficients. We are interested in tristimulus values

More information

Programming for Blood, Spring 2008 Set #3 P. N. Hilfinger. ±0.d 1 d m 2 e,

Programming for Blood, Spring 2008 Set #3 P. N. Hilfinger. ±0.d 1 d m 2 e, Programming for Blood, Spring 2008 Set #3 P. N. Hilfinger 1. An m-bit floating-point number is a value ±0.d 1 d m 2 e, where e is an integer (i.e., positive or negative), and each d i is either 0 or 1.

More information

Image transformations. Prof. Noah Snavely CS Administrivia

Image transformations. Prof. Noah Snavely CS Administrivia Image transformations Prof. Noah Snavely CS1114 http://www.cs.cornell.edu/courses/cs1114/ Administrivia 2 Last time: Interpolation 3 Nearest neighbor interpolation 4 Bilinear interpolation 5 Bicubic interpolation

More information

How to Use SVG Cut Files

How to Use SVG Cut Files How to Use SVG Cut Files STEP 1: DOWNLOAD SVG ZIP FILE FROM WEBSITE Scroll to the bottom of the project post to find the files for the project. Click and download the SVG file. You will be downloading

More information

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014 SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014 SIFT SIFT: Scale Invariant Feature Transform; transform image

More information

CS231A Section 6: Problem Set 3

CS231A Section 6: Problem Set 3 CS231A Section 6: Problem Set 3 Kevin Wong Review 6 -! 1 11/09/2012 Announcements PS3 Due 2:15pm Tuesday, Nov 13 Extra Office Hours: Friday 6 8pm Huang Common Area, Basement Level. Review 6 -! 2 Topics

More information

Clustering Color/Intensity. Group together pixels of similar color/intensity.

Clustering Color/Intensity. Group together pixels of similar color/intensity. Clustering Color/Intensity Group together pixels of similar color/intensity. Agglomerative Clustering Cluster = connected pixels with similar color. Optimal decomposition may be hard. For example, find

More information

ELEN E4830 Digital Image Processing. Homework 3 Solution

ELEN E4830 Digital Image Processing. Homework 3 Solution ELEN E48 Digital Image Processing Homework Solution Chuxiang Li cxli@ee.columbia.edu Department of Electrical Engineering, Columbia University February 4, 6 Image Histogram Stretching. Histogram of Gray-image

More information

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth) Edges, interpolation, templates Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth) Gradients and edges edges are points of large gradient magnitude edge detection strategy 1. determine

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

Digital Image Analysis and Processing

Digital Image Analysis and Processing Digital Image Analysis and Processing CPE 0907544 Image Enhancement Part I Intensity Transformation Chapter 3 Sections: 3.1 3.3 Dr. Iyad Jafar Outline What is Image Enhancement? Background Intensity Transformation

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 I

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 I 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 I For students of HI 5323

More information

Sampling: Application to 2D Transformations

Sampling: Application to 2D Transformations Sampling: Application to 2D Transformations University of the Philippines - Diliman August Diane Lingrand lingrand@polytech.unice.fr http://www.essi.fr/~lingrand Sampling Computer images are manipulated

More information

Image Processing. Chapter(3) Part 3:Intensity Transformation and spatial filters. Prepared by: Hanan Hardan. Hanan Hardan 1

Image Processing. Chapter(3) Part 3:Intensity Transformation and spatial filters. Prepared by: Hanan Hardan. Hanan Hardan 1 Image Processing Chapter(3) Part 3:Intensity Transformation and spatial filters Prepared by: Hanan Hardan Hanan Hardan 1 Gray-level Slicing This technique is used to highlight a specific range of gray

More information

AMCS / CS 247 Scientific Visualization Lecture 10: (GPU) Texture Mapping. Markus Hadwiger, KAUST

AMCS / CS 247 Scientific Visualization Lecture 10: (GPU) Texture Mapping. Markus Hadwiger, KAUST AMCS / CS 247 Scientific Visualization Lecture 10: (GPU) Texture Mapping Markus Hadwiger, KAUST Reading Assignment #5 (until Oct. 8) Read (required): Real-Time Volume Graphics, Chapter 2 (GPU Programming)

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

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines EECS 556 Image Processing W 09 Interpolation Interpolation techniques B splines What is image processing? Image processing is the application of 2D signal processing methods to images Image representation

More information

Digital Image Processing COSC 6380/4393

Digital Image Processing COSC 6380/4393 Digital Image Processing COSC 6380/4393 Lecture 4 Jan. 24 th, 2019 Slides from Dr. Shishir K Shah and Frank (Qingzhong) Liu Digital Image Processing COSC 6380/4393 TA - Office: PGH 231 (Update) Shikha

More information

Gray level histograms

Gray level histograms #pixels Gray level histograms 3.5 4 x 104 3 Histogram Brain image 2.5 2 1.5 1 0.5 0 0 50 100 150 200 250 gray level Digital Image Processing: Bernd Girod, 2013-2014 Stanford University -- Histograms 1

More information

Computer and Machine Vision

Computer and Machine Vision Computer and Machine Vision Lecture Week 5 Part-1 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

Extraction of Level Sets from 2D Images

Extraction of Level Sets from 2D Images Extraction of Level Sets from 2D Images David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License.

More information

Today s outline: pp

Today s outline: pp Chapter 3 sections We will SKIP a number of sections Random variables and discrete distributions Continuous distributions The cumulative distribution function Bivariate distributions Marginal distributions

More information

Linear Algebra and Image Processing: Additional Theory regarding Computer Graphics and Image Processing not covered by David C.

Linear Algebra and Image Processing: Additional Theory regarding Computer Graphics and Image Processing not covered by David C. Linear Algebra and Image Processing: Additional Theor regarding Computer Graphics and Image Processing not covered b David C. La Dr. D.P. Huijsmans LIACS, Leiden Universit Februar 202 Differences in conventions

More information

Probability Models.S4 Simulating Random Variables

Probability Models.S4 Simulating Random Variables Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard Probability Models.S4 Simulating Random Variables In the fashion of the last several sections, we will often create probability

More information

CS 231A Computer Vision (Winter 2014) Problem Set 3

CS 231A Computer Vision (Winter 2014) Problem Set 3 CS 231A Computer Vision (Winter 2014) Problem Set 3 Due: Feb. 18 th, 2015 (11:59pm) 1 Single Object Recognition Via SIFT (45 points) In his 2004 SIFT paper, David Lowe demonstrates impressive object recognition

More information

Obtaining Feature Correspondences

Obtaining Feature Correspondences Obtaining Feature Correspondences Neill Campbell May 9, 2008 A state-of-the-art system for finding objects in images has recently been developed by David Lowe. The algorithm is termed the Scale-Invariant

More information

7.5 Dictionary-based Coding

7.5 Dictionary-based Coding 7.5 Dictionary-based Coding LZW uses fixed-length code words to represent variable-length strings of symbols/characters that commonly occur together, e.g., words in English text LZW encoder and decoder

More information

Distribution-free Predictive Approaches

Distribution-free Predictive Approaches Distribution-free Predictive Approaches The methods discussed in the previous sections are essentially model-based. Model-free approaches such as tree-based classification also exist and are popular for

More information

How to use the open-access scanners 1. Basic instructions (pg 2) 2. How to scan a document and perform OCR (pg 3 7) 3. How to scan a document and

How to use the open-access scanners 1. Basic instructions (pg 2) 2. How to scan a document and perform OCR (pg 3 7) 3. How to scan a document and How to use the open-access scanners 1. Basic instructions (pg 2) 2. How to scan a document and perform OCR (pg 3 7) 3. How to scan a document and save it directly into Microsoft Word (pg 8 9) 4. How to

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

Exercise Computer graphics (till October 30, 2007)

Exercise Computer graphics (till October 30, 2007) (till October 30, 2007) Ordered dithering Ordered dithering meant that a gray value is approximated by different patterns like these: Solution: Like in the dithering example which only took black and white

More information

IMAGE ENHANCEMENT IN THE SPATIAL DOMAIN

IMAGE ENHANCEMENT IN THE SPATIAL DOMAIN 1 Image Enhancement in the Spatial Domain 3 IMAGE ENHANCEMENT IN THE SPATIAL DOMAIN Unit structure : 3.0 Objectives 3.1 Introduction 3.2 Basic Grey Level Transform 3.3 Identity Transform Function 3.4 Image

More information

Image Processing. David Kauchak cs160 Fall Empirical Evaluation of Dissimilarity Measures for Color and Texture

Image Processing. David Kauchak cs160 Fall Empirical Evaluation of Dissimilarity Measures for Color and Texture Image Processing Empirical Evaluation of Dissimilarity Measures for Color and Texture Jan Puzicha, Joachim M. Buhmann, Yossi Rubner & Carlo Tomasi David Kauchak cs160 Fall 2009 Administrative 11/4 class

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

Introduction to Geographic Information Science. Some Updates. Last Lecture 4/6/2017. Geography 4103 / Raster Data and Tesselations.

Introduction to Geographic Information Science. Some Updates. Last Lecture 4/6/2017. Geography 4103 / Raster Data and Tesselations. Geography 43 / 3 Introduction to Geographic Information Science Raster Data and Tesselations Schedule Some Updates Last Lecture We finished DBMS and learned about storage of data in complex databases Relational

More information

Time Stamp Detection and Recognition in Video Frames

Time Stamp Detection and Recognition in Video Frames Time Stamp Detection and Recognition in Video Frames Nongluk Covavisaruch and Chetsada Saengpanit Department of Computer Engineering, Chulalongkorn University, Bangkok 10330, Thailand E-mail: nongluk.c@chula.ac.th

More information

CoE4TN4 Image Processing

CoE4TN4 Image Processing CoE4TN4 Image Processing Chapter 11 Image Representation & Description Image Representation & Description After an image is segmented into regions, the regions are represented and described in a form suitable

More information

MA 323 Geometric Modelling Course Notes: Day 31 Blended and Ruled Surfaces Coons Patches

MA 323 Geometric Modelling Course Notes: Day 31 Blended and Ruled Surfaces Coons Patches MA 323 Geometric Modelling Course Notes: Day 31 Blended and Ruled Surfaces Coons Patches David L. Finn Today, we want to start considering patches that are constructed solely by specifying the edge curves.

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

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm Group 1: Mina A. Makar Stanford University mamakar@stanford.edu Abstract In this report, we investigate the application of the Scale-Invariant

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

Exercise 6 Using the NHDPlus Raster Data Sets Last Updated 3/12/2014

Exercise 6 Using the NHDPlus Raster Data Sets Last Updated 3/12/2014 Exercise 6 Using the NHDPlus Raster Data Sets Last Updated 3/12/2014 Within this document, the term NHDPlus is used when referring to NHDPlus Version 2.1 (unless otherwise noted). The NHDPlus includes

More information

Halftoning and quasi-monte Carlo

Halftoning and quasi-monte Carlo Halftoning and quasi-monte Carlo Ken Hanson CCS-2, Methods for Advanced Scientific Simulations Los Alamos National Laboratory This presentation available at http://www.lanl.gov/home/kmh/ LA-UR-04-1854

More information

Poor Man s Rendering Of Segmented Data

Poor Man s Rendering Of Segmented Data SIGRAD 2013, pp. 49-54 T. Ropinski and J. Unger (Editors) Poor Man s Rendering Of Segmented Data Stefan Lindholm 1 and Alexander Bock 1 1 Scientific Visualization Group, Linköping University, Sweden Abstract

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