Intelligent agents (TME285) Lecture 4,

Size: px
Start display at page:

Download "Intelligent agents (TME285) Lecture 4,"

Transcription

1 Intelligent agents (TME285) Lecture 4, Image processing for IPAs + Advanced C# programming

2 Assignment, Stage 1 Note, again, that to complete Stage 1, you must have a discussion with us, based on your draft, submit the final version of your planning document. Many have now had the discussion, but I have only received a few final versions so far (deadline: Today!) Some have not even had the discussion the last chance (to get the 5p) is in the breaks of today s lecture (and you must then finalize and send the document later today).

3 Assignment, Stage 1 Formatting Use the headers in the assignment, i.e. make sure to cover the topics (task, dialogues, similar agents etc.) described there. For the dialogues: List the required dialogues, with the name of the dialogue (e.g. GreetingDialogue) as well as a brief general description (not a usage example) of what it will do. For the visualization, show (schematically) how the entire GUI will look which application windows will be shown, where will they go on the screen etc. etc.

4 Assignment, Stage 2 Simplification: For Stage 2, it is sufficient that you just send the document (i.e. prior discussion is certainly allowed but not required) provided that you follow the instructions, i.e. writing a 2-6 pages long document describing the dialogues in detail (dialogue item by dialogue item). To get some examples, see Hazel s dialogues. giving specific usage examples for each dialogue, describing (briefly) the derived DialogueItem classes that you intend to implement.

5 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

6 Image processing in IPAs Any IPA with a camera will require some image processing. Typical image processing tasks for an IPA are Face detection and recognition, Gesture recognition, Object detection (in general), Facial emotion detection. These are all fairly advanced concepts that rely on the basic image processing operations described next.

7 Digital images and color spaces Picture elements (pixels) can be represented in different color spaces: RGB (Red-Green-Blue) Three components, each typically one byte (0 255) Fourth component (alpha channel) determines the level of transparency (where applicable). Grayscale Gray value Γ in [0,255] (Γ = R = G = B) Typical conversion:

8 Digital images and color spaces Picture elements (pixels) can be represented in different color spaces: YCbCr Used, for example, in skin pixel detection (see p. 52) Luma and chrominance (blue and red) Common conversion betwwen RGB and YCbCr:

9 YCbCr components Misprint! Should say Cr

10 Image histograms Compact representation of image contents. For each color channel, count the number of pixels at each value 0, 1, 255:

11 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

12 Basic image processing Common operations: Changing contrast and brightness Grayscale conversion Binarization Image convolution: Sharpening, blurring and edge detection Histogram stretching Integral images and connected components (Morphological image processing)

13 Contrast and brightness Transformation to change both contrast and brightness: A value > 255 must be set to 255, and values below 0 must be set to 0. Problem: Setting suitable values of α and β. Often better to use histogram stretching (see below).

14 Grayscale conversion Reduces the amount of information (from 3 color channels to 1). General expression: Common values: f r = 0.299, f g = 0.587, f b =

15 Binarization Simplest version: In a grayscale image, set pixels with gray level below a given threshold to 0 (black) and all other pixels to 255 (white). In practical applications, one must often handle brightness variations over the image; see below (Adaptive thresholding).

16 Convolution In convolution, one passes an N x N matrix (the convolution matrix) over every pixel in an image, changing the value of the center pixels based on an elementwise product of the convolution matrix and the image pixels under it: Here, ν = (N-1)/2, and N is assumed to be odd.

17 Blurring and sharpening Example 1: With the matrix the center pixel will be an average of the 9 pixels covered by the convolution matrix, resulting in a distinct blurring:

18 Blurring and sharpening Example 2: With the matrix the center pixel will emphasized relative to its neighbors, resulting in sharpening:

19 Blurring and sharpening

20 Histogram stretching Histogram stretching is applied in order to enhance the contrast of an image. Method: First generate the grayscale histogram, Then normalize the histogram and generate the cumulative histogram:

21 Histogram stretching Method: then find the bin index j Low as the smallest j such that H c (j) > p, and the bin index j High as the largest j such that H c (j) < 1-p. Then, set any pixel with gray level below j Low to black and any pixel with gray level above j High to white. Finally, for all other pixels, set the new gray level as:

22 Histogram stretching

23 Edge detection Can be implemented as a dual convolution (usually also preceded by blurring) However, this somewhat time-consuming process can be approximated as follows (see p. 54 in the compendium):

24 Integral image Integral images are useful when one needs to compute the pixel sums over many regions in an image. The integral image (element) I(i, j) is defined as the sum of all pixels above and to the left of (i, j): The integral image can be computed as

25 Integral image Once the integral image has been obtained, one can find the sum of pixels in any rectangular area with one addition and two subtractions, as If any index is < 0 (can happen if the requsted sum involves the left edge or the top), set the corresponding term to 0.

26 Integral image: Example

27 Connected components In many tasks, such as face detection, one may need to find connected components, i.e. regions of pixels (in a binarized image) that are connected to each other. Detailed method not given here (good references available online):

28 Connected components: Example

29 Morphological image processing In morphological image processing, one passes a shape (the structuring element) over the image. Then, the value of a given pixel (usually the center pixel) is changed if some conditions are met. This topic is a bit outside the scope of the scope, but see pp in the compendium. Two common morphological operators are erosion and dilation; see the example on the next slide.

30 Morphological image processing

31 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

32 The ImageProcessing library Part of the IPA libraries. Most important classes ImageProcessor Camera

33 The ImageProcessor class The ImageProcessor class contains fast implementations of several basic image processing tasks:

34 The ImageProcessor class Rather then accessing the pixels of the image (or, rather, its bitmap) directly via GetPixel() and SetPixel(), the methods in the ImageProcessor class use very fast pointer operations. However, such operations involve direct memory access (rather than the managed memory access in.net) and are therefore referred to as unsafe. One must take great care when applying such operations. This topic will be described further in the next lecture!

35 The ImageProcessor class Furthermore, some methods in the ImageProcessor class makes use of parallel processing. This, too, is a type of operation that requires careful implementation, and which will be described later in this lecture. For now, we will focus on the use of the ImageProcessor class!

36 The ImageProcessor class Generates the image processor and locks the bitmap in memory. Sequence of image processing operations Releases the locked memory, making the processed bitmap available. Actively disposes the image processor. Should be called if, for example, you generate many image processors in a short time such that the garbage collection in.net may have a hard time keeping up.

37 The ImageProcessor class Constructor and Lock() method:

38 The ImageProcessor class Sample method (details given next lecture)

39 The ImageProcessor class Release() method: NOTE! Call Release() before trying to access the ProcessedBitmap! See also the example above!

40 The Camera class This class makes use of a CaptureDevice class that, in turn, uses the DirectShow library (placed as a DLL in the ImageProcessorLibrary (/bin/debug) Usage example:

41 The Camera class In order to access the camera bitmap, one must run a separate thread that obtains (reads) the camera image at regular intervals. Threading will be described below.

42 The CameraSetupControl class This is a UserControl (a graphical component generated by a user, in this case me!) for showing and modifying camera settings:

43 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

44 Advanced image processing Many different topics could be considered here. Topics of particular relevance to IPAs: Adaptive thresholding, Motion detection (and background subtraction), Face detection and face recognition.

45 Adaptive thresholding In adaptive thresholding, one uses a varying binarization threshold, in order to get the best possible binarization. Several methods exists. Here, Sauvola s method will be described. Fixed binarization threshold Sauvola s method

46 Adaptive thresholding In Sauvola s method, the binarization threshold is computed (locally) as 1,2 where k is a parameter, s is the standard deviation over a j x j region around the current pixel, m is the mean, and R is the maximum standard deviation over all j x j areas. 1. Note: Small misprint in Eq.(4.27): Should read σ instead of s. In both cases, I mean the standard deviation. 2. Note: The implementation (accidentally included in the IPA libraries) in the ImageProcessor is a debug version in which r is a fixed input parameter. Do not use! (But you can implement your own method, starting from that method, if you wish).

47 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

48 Motion detection Motion and gesture detection is relevant in many IPAs. An important special case is background subtraction. A simple approach is to take an image of the area in front of the agent before the user sits down, and then, with the user in front, take any pixel as foreground that fulfil: Current gray level at pixel (i, j) Background gray level This approach will not work well though, due to noise, variations in illumination etc.

49 Motion detection A better approach is to use exponential Gaussian averaging: Initialize the average (μ) as Current gray level at pixel (i, j) and initialize the variance at pixel (i, j) as the variance over the pixels surrounding that pixel.

50 Motion detection Then update the average and variance as where

51 Motion detection One can then take as foreground any pixel that fulfils for some suitable value of α.

52 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

53 Face detection and recognition Many, though not all, methods for face detection are based on skin pixel detection.

54 Face detection and recognition Once the skin pixels have been detected, one can process the information to find the bounding box of the face. The Vision application, described on pp shows one example of how one can do this. You may start from this example and then make modifications as necessary. Drawback: Skin pixel detection is quite dependent on the illumination level. A more advanced approach is the Viola-Jones face detection algorithm (see p. 66 and the references).

55 Face detection and recognition General face recognition is quite difficult, and typically requires a large training set. Examples of methods (pp and references) the eigenface method (in which faces are defined as linear combinations of facial templates) or...local binary patterns, or artificial neural networks.

56 Face detection and recognition General advice: Before starting with your implementation, carefully define the scope of your algorithm, In this case (IPAs) it is often sufficient that the agent can detect a single face, seen from the front. the agent can distinguish one (or perhaps a few) users from other people (non-users), using specific features found in those few faces. Thus, rather than uncritically implementing a generalpurpose method for either face detection or face recognition, consider the scope first (and discuss with us).

57 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

58 The ImageProcessing application This application allows the user to test sequences of basic image processing tasks:

59 The VideoProcessing application This application demonstrates how the camera class is used (in particular, see the CameraViewControl). It also shows how to use the CameraSetupControl. Finally, it demonstrates basic background subtraction, using exponential Gaussian averaging.

60 Advanced C# programming Appendices A4 and A5 + CommunicationLibrary (async callback)

61 Threading Many computer programs are multi-threaded, meaning that different operations runs in parallel (at least from the user s point-of-view) in separate threads. A common application of multi-threading is to have one thread responsible for updating the GUI and interacting with the user and, one thread for doing computationally intensive work in the background.

62 Threading By default, in a standard Windows forms application in C#, the operation take place in the GUI thread. Thus, one has to make explicit use (see below) of threading in order to achieve the situation described in the previous slide. Appendix A.4 in the compendium.

63 Single-thread example Consider now the first example in Appendix A.4. This example (and the next) is implemented in the ThreadingExample application in the DemonstrationSolution available in the IPASrc folder. In the single-thread example (Listing A.10 in the compendium) the user (unwisely) runs a heavy computation in the GUI thread. As a result, the GUI becomes frozen (does not respond) during the computation.

64 Single-thread example

65 Multi-threading example Consider now the second example in Appendix A.4. Here (see listing A.11 in the compendium) the user starts the heavy computation in a separate thread. As a result, the GUI remains responsive during the calculation.

66 Multi-threading example Instantiates the computationthread. Starts the computationthread, in which it executes the ComputationLoop()

67 Multi-threading example There is a price to be paid though: One has to be careful with cross-thread communication. For example, any operation involving the GUI will require access to the GUI thread (see the next slide) Whenever one wishes to access the GUI thread from another thread, one must use the BeginInvoke() 1 method (which is available in any graphical component 2). 1. There are some different variants though. Sometimes, one instead uses Invoke(). Here, however, we shall only use BeginInvoke(). 2. Graphical components (forms, buttons, text boxes etc.) are derived from the Control base class, which is where the BeginInvoke() method resides.

68 Multi-threading example Thread-safe visualization of progress: Simplying somwhat, one can say that this method asks for permission to access the GUI thread, which is required to carry out any action in the GUI One can then carry out the actual GUI operation (in this case: Showing progress information on the screen) using the same method as in the single-thread example.

69 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

70 Asychronous callbacks BeginInvoke (see above) is used for making an asynchronous method call. In the particular case of GUI updates, often one does not need to know when the method completes its operation. However, there are case where one does, for example in the client-server code in the CommunicationLibrary. In those cases one can use a construct called an asynchronous callback method. Basically, one tells C# to report ( call back ) once the method (called asynchronously) completes its work.

71 Asychronous callbacks: Example An asynchronous call: Start receiving connection requests from clients and then Specifying the callback method immediately exit from AcceptClients() so that the program can do other things while waiting for clients to request a connection. The Begin<Something> method is matched by an End<Something> method (example: BeginAccept EndAccept), which returns some customized information, in this case the client socket: Repeat the call, in order to continue listening (asynchronously) for clients.

72 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

73 Concurrent reading and writing In programs that involve asynchronous operations (e.g. multi-threading) one often needs to handle the possibility of concurrent reading and writing. For simple types (e.g. Int) there is no problem: Reading and writing to an Int is a so-called atomic operation, meaning (essentially) that reading and writing cannot occur concurrently. However, this is not the case for more complex objects (e.g. generic lists). Appendix A.5 in the compendium.

74 Concurrent reading and writing ConcurrentAccessExample in the DemonstrationSolution. Begin with a list containing 10 integers, all equal to 1. Then start two threads (running in parallel): One thread that first adds the integer 1 to the list (so that it contains 11 elements), and the removes the first 1 in the list (so that it again contains 10 integers, all equal to 1). One thread that simply computes the length of the list = element sum. If those operations occured in order, the length would always be 10. However, since the threads are asynchronous, the length check can occur between the addition and the deletion!

75 Concurrent reading and writing Incorrect approach: If AddElement() and GetCheckSum() are called asynchonously, the length check in the latter method can occur between Add() and Remove()! Length check (GetCheckSum) may happen here, since AddElement and GetCheckSum are called from different threads (see the code in the MainForm.cs of the example).

76 Concurrent reading and writing Correct approach (one possibility among several): Lock object (used below) The AddElement() method has acquired the lock. Any other code that tries to acquire it must wait until AddElement(). releases the lock:

77 Concurrent reading and writing Locking should only be used when necessary. There is also a TryEnter() method in the Monitor class, which can be used for operations that are not crucial (such as displaying information on the screen). In that case, one can tell C#: show information IF you can acquire the lock, otherwise just skip it. See for example the TryGetItems() method in Memory (AgentLibrary.Memories), which is used when obtaining memory items to be displayed in the MemoryViewer.

78 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

79 Locked bitmaps Pixel values (colors) can be manipulated directly using GetPixel() and SetPixel() (in the Bitmap class). However that method is slow! Alternative: Lock the bitmap in memory to carry out fast pointer operations.

80 Locking a bitmap Locked bitmaps and releasing the lock (after completing the desired image processing operations):

81 Locked bitmaps In most C# code, the code is managed (by the.net framework), meaning that.net handles allocation (and de-allocation) of memory etc. Direct memory access (such as e.g. pointer operations) is unmanaged meaning, among other things, that the programmer is responsible for handling memory resouces etc. In C#, such code is indicated using the unsafe keyword:

82 Locked bitmaps Unsafe code to follow! = 3 for 24-bit color, 4 for 32-bit color Pointer to the first byte of the bitmap Bytes per row (in the bitmap) Note: bytes ordered as B-G-R (not R-G-B)

83 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

84 Parallel computation in C# One can certainly use a normal for-loop for locked bitmaps. However, in order to speed up the computation even more, one can use a parallel for-loop (Parallel.For). Ordinary For-loop Parallel For-loop Note, however, that this must be done with care. When running a parallel for-loop one must be aware that the operations may occur in any order.

85 Parallel computation in C# Will not work! Possible outcome: Two different threads might read the current value, and then add one, each assuming that they have incremented the previous value by one (so that the result is +1 rather than +2)! Correct procedure: Use the Interlocked class in order to handle the addition in an atomic (thread-safe) way.

86 Recommendation and notes Unsafe code Unsafe code is uncommon in C#. Here, you only need to use it in connection with image processing. There are plenty of examples in the ImageProcessor class. Parallel processing Fast, but risk of error. Be careful! If you ever you parallel for-loops, first write the code with a standard for-loop and then check carefully that the parallel version gives the same result. You are not required to use parallel for-loops.

87 Today s learning goals After this lecture you should be able to Describe color spaces and image histograms, Implement and use various elementary image processing operations, Describe and use the ImageProcessing library, Implement and use adaptive thresholding, Implement and use motion detection, Describe methods for face detection and recognition Describe and use elementary multi-threading Explain the concept of asynchronous callbacks Describe and use methods for concurrent access Describe and use locked bitmaps Explain and use the concept of parallel computation in C#

88 To do (for you!) Run (and then step through, with breakpoints) the two applications in the ImageProcessingSolution. Study the ImageProcessor and Camera classes. Study the examples (in the DemonstrationSolution) regarding Threading Concurrent access

An Evaluation of Automatic License Plate Recognition Vikas Kotagyale, Prof.S.D.Joshi

An Evaluation of Automatic License Plate Recognition Vikas Kotagyale, Prof.S.D.Joshi An Evaluation of Automatic License Plate Recognition Vikas Kotagyale, Prof.S.D.Joshi Department of E&TC Engineering,PVPIT,Bavdhan,Pune ABSTRACT: In the last decades vehicle license plate recognition systems

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Part 2: Image Enhancement Digital Image Processing Course Introduction in the Spatial Domain Lecture AASS Learning Systems Lab, Teknik Room T26 achim.lilienthal@tech.oru.se Course

More information

International Journal of Advance Engineering and Research Development

International Journal of Advance Engineering and Research Development Scientific Journal of Impact Factor (SJIF): 4.72 International Journal of Advance Engineering and Research Development Volume 4, Issue 10, October -2017 e-issn (O): 2348-4470 p-issn (P): 2348-6406 REVIEW

More information

Keyword: Morphological operation, template matching, license plate localization, character recognition.

Keyword: Morphological operation, template matching, license plate localization, character recognition. Volume 4, Issue 11, November 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Automatic

More information

Research of an Algorithm on Face Detection

Research of an Algorithm on Face Detection , pp.217-222 http://dx.doi.org/10.14257/astl.2016.141.47 Research of an Algorithm on Face Detection Gong Liheng, Yang Jingjing, Zhang Xiao School of Information Science and Engineering, Hebei North University,

More information

Chapter 6. [6]Preprocessing

Chapter 6. [6]Preprocessing Chapter 6 [6]Preprocessing As mentioned in chapter 4, the first stage in the HCR pipeline is preprocessing of the image. We have seen in earlier chapters why this is very important and at the same time

More information

Image Processing : Introduction

Image Processing : Introduction Image Processing : Introduction What is an Image? An image is a picture stored in electronic form. An image map is a file containing information that associates different location on a specified image.

More information

Chapter 8. Representing Multimedia Digitally

Chapter 8. Representing Multimedia Digitally Chapter 8 Representing Multimedia Digitally Learning Objectives Explain how RGB color is represented in bytes Explain the difference between bits and binary numbers Change an RGB color by binary addition

More information

Image processing for gesture recognition: from theory to practice. Michela Goffredo University Roma TRE

Image processing for gesture recognition: from theory to practice. Michela Goffredo University Roma TRE Image processing for gesture recognition: from theory to practice 2 Michela Goffredo University Roma TRE goffredo@uniroma3.it Image processing At this point we have all of the basics at our disposal. We

More information

Mahdi Amiri. March Sharif University of Technology

Mahdi Amiri. March Sharif University of Technology Course Presentation Multimedia Systems Image II (Image Enhancement) Mahdi Amiri March 2014 Sharif University of Technology Image Enhancement Definition Image enhancement deals with the improvement of visual

More information

Lane Detection in Automotive

Lane Detection in Automotive Lane Detection in Automotive Contents Introduction... 2 Image Processing... 2 Reading an image... 3 RGB to Gray... 3 Mean and Gaussian filtering... 5 Defining our Region of Interest... 6 BirdsEyeView Transformation...

More information

CMVision and Color Segmentation. CSE398/498 Robocup 19 Jan 05

CMVision and Color Segmentation. CSE398/498 Robocup 19 Jan 05 CMVision and Color Segmentation CSE398/498 Robocup 19 Jan 05 Announcements Please send me your time availability for working in the lab during the M-F, 8AM-8PM time period Why Color Segmentation? Computationally

More information

Table of contents. Vision industrielle 2002/2003. Local and semi-local smoothing. Linear noise filtering: example. Convolution: introduction

Table of contents. Vision industrielle 2002/2003. Local and semi-local smoothing. Linear noise filtering: example. Convolution: introduction Table of contents Vision industrielle 2002/2003 Session - Image Processing Département Génie Productique INSA de Lyon Christian Wolf wolf@rfv.insa-lyon.fr Introduction Motivation, human vision, history,

More information

Computer Vision. Howie Choset Introduction to Robotics

Computer Vision. Howie Choset   Introduction to Robotics Computer Vision Howie Choset http://www.cs.cmu.edu.edu/~choset Introduction to Robotics http://generalrobotics.org What is vision? What is computer vision? Edge Detection Edge Detection Interest points

More information

A NOVEL APPROACH FOR CHARACTER RECOGNITION OF VEHICLE NUMBER PLATES USING CLASSIFICATION

A NOVEL APPROACH FOR CHARACTER RECOGNITION OF VEHICLE NUMBER PLATES USING CLASSIFICATION A NOVEL APPROACH FOR CHARACTER RECOGNITION OF VEHICLE NUMBER PLATES USING CLASSIFICATION Nora Naik Assistant Professor, Dept. of Computer Engineering, Agnel Institute of Technology & Design, Goa, India

More information

Number Plate Recognition Using Segmentation

Number Plate Recognition Using Segmentation Number Plate Recognition Using Segmentation Rupali Kate M.Tech. Electronics(VLSI) BVCOE. Pune 411043, Maharashtra, India. Dr. Chitode. J. S BVCOE. Pune 411043 Abstract Automatic Number Plate Recognition

More information

ECE 619: Computer Vision Lab 1: Basics of Image Processing (Using Matlab image processing toolbox Issued Thursday 1/10 Due 1/24)

ECE 619: Computer Vision Lab 1: Basics of Image Processing (Using Matlab image processing toolbox Issued Thursday 1/10 Due 1/24) ECE 619: Computer Vision Lab 1: Basics of Image Processing (Using Matlab image processing toolbox Issued Thursday 1/10 Due 1/24) Task 1: Execute the steps outlined below to get familiar with basics of

More information

Making PHP See. Confoo Michael Maclean

Making PHP See. Confoo Michael Maclean Making PHP See Confoo 2011 Michael Maclean mgdm@php.net http://mgdm.net You want to do what? PHP has many ways to create graphics Cairo, ImageMagick, GraphicsMagick, GD... You want to do what? There aren't

More information

Introduction to computer vision. Image Color Conversion. CIE Chromaticity Diagram and Color Gamut. Color Models

Introduction to computer vision. Image Color Conversion. CIE Chromaticity Diagram and Color Gamut. Color Models Introduction to computer vision In general, computer vision covers very wide area of issues concerning understanding of images by computers. It may be considered as a part of artificial intelligence and

More information

GE 113 REMOTE SENSING. Topic 7. Image Enhancement

GE 113 REMOTE SENSING. Topic 7. Image Enhancement GE 113 REMOTE SENSING Topic 7. Image Enhancement Lecturer: Engr. Jojene R. Santillan jrsantillan@carsu.edu.ph Division of Geodetic Engineering College of Engineering and Information Technology Caraga State

More information

Automatic Licenses Plate Recognition System

Automatic Licenses Plate Recognition System Automatic Licenses Plate Recognition System Garima R. Yadav Dept. of Electronics & Comm. Engineering Marathwada Institute of Technology, Aurangabad (Maharashtra), India yadavgarima08@gmail.com Prof. H.K.

More information

Lane Detection in Automotive

Lane Detection in Automotive Lane Detection in Automotive Contents Introduction... 2 Image Processing... 2 Reading an image... 3 RGB to Gray... 3 Mean and Gaussian filtering... 6 Defining our Region of Interest... 10 BirdsEyeView

More information

ECC419 IMAGE PROCESSING

ECC419 IMAGE PROCESSING ECC419 IMAGE PROCESSING INTRODUCTION Image Processing Image processing is a subclass of signal processing concerned specifically with pictures. Digital Image Processing, process digital images by means

More information

INDIAN VEHICLE LICENSE PLATE EXTRACTION AND SEGMENTATION

INDIAN VEHICLE LICENSE PLATE EXTRACTION AND SEGMENTATION International Journal of Computer Science and Communication Vol. 2, No. 2, July-December 2011, pp. 593-599 INDIAN VEHICLE LICENSE PLATE EXTRACTION AND SEGMENTATION Chetan Sharma 1 and Amandeep Kaur 2 1

More information

Achim J. Lilienthal Mobile Robotics and Olfaction Lab, AASS, Örebro University

Achim J. Lilienthal Mobile Robotics and Olfaction Lab, AASS, Örebro University Achim J. Lilienthal Mobile Robotics and Olfaction Lab, Room T29, Mo, -2 o'clock AASS, Örebro University (please drop me an email in advance) achim.lilienthal@oru.se 4.!!!!!!!!! Pre-Class Reading!!!!!!!!!

More information

A simple MATLAB interface to FireWire cameras. How to define the colour ranges used for the detection of coloured objects

A simple MATLAB interface to FireWire cameras. How to define the colour ranges used for the detection of coloured objects How to define the colour ranges used for the detection of coloured objects The colour detection algorithms scan every frame for pixels of a particular quality. A coloured object is defined by a set of

More information

CS 484, Fall 2018 Homework Assignment 1: Binary Image Analysis

CS 484, Fall 2018 Homework Assignment 1: Binary Image Analysis CS 484, Fall 2018 Homework Assignment 1: Binary Image Analysis Due: October 31, 2018 The goal of this assignment is to find objects of interest in images using binary image analysis techniques. Question

More information

L2. Image processing in MATLAB

L2. Image processing in MATLAB L2. Image processing in MATLAB 1. Introduction MATLAB environment offers an easy way to prototype applications that are based on complex mathematical computations. This annex presents some basic image

More information

EFFICIENT ATTENDANCE MANAGEMENT SYSTEM USING FACE DETECTION AND RECOGNITION

EFFICIENT ATTENDANCE MANAGEMENT SYSTEM USING FACE DETECTION AND RECOGNITION EFFICIENT ATTENDANCE MANAGEMENT SYSTEM USING FACE DETECTION AND RECOGNITION 1 Arun.A.V, 2 Bhatath.S, 3 Chethan.N, 4 Manmohan.C.M, 5 Hamsaveni M 1,2,3,4,5 Department of Computer Science and Engineering,

More information

An Improved Bernsen Algorithm Approaches For License Plate Recognition

An Improved Bernsen Algorithm Approaches For License Plate Recognition IOSR Journal of Electronics and Communication Engineering (IOSR-JECE) ISSN: 78-834, ISBN: 78-8735. Volume 3, Issue 4 (Sep-Oct. 01), PP 01-05 An Improved Bernsen Algorithm Approaches For License Plate Recognition

More information

Chapter 17. Shape-Based Operations

Chapter 17. Shape-Based Operations Chapter 17 Shape-Based Operations An shape-based operation identifies or acts on groups of pixels that belong to the same object or image component. We have already seen how components may be identified

More information

Liquid Camera PROJECT REPORT STUDY WEEK FASCINATING INFORMATICS. N. Ionescu, L. Kauflin & F. Rickenbach

Liquid Camera PROJECT REPORT STUDY WEEK FASCINATING INFORMATICS. N. Ionescu, L. Kauflin & F. Rickenbach PROJECT REPORT STUDY WEEK FASCINATING INFORMATICS Liquid Camera N. Ionescu, L. Kauflin & F. Rickenbach Alte Kantonsschule Aarau, Switzerland Lycée Denis-de-Rougemont, Switzerland Kantonsschule Kollegium

More information

from: Point Operations (Single Operands)

from:  Point Operations (Single Operands) from: http://www.khoral.com/contrib/contrib/dip2001 Point Operations (Single Operands) Histogram Equalization Histogram equalization is as a contrast enhancement technique with the objective to obtain

More information

ImagesPlus Basic Interface Operation

ImagesPlus Basic Interface Operation ImagesPlus Basic Interface Operation The basic interface operation menu options are located on the File, View, Open Images, Open Operators, and Help main menus. File Menu New The New command creates a

More information

Face Detection System on Ada boost Algorithm Using Haar Classifiers

Face Detection System on Ada boost Algorithm Using Haar Classifiers Vol.2, Issue.6, Nov-Dec. 2012 pp-3996-4000 ISSN: 2249-6645 Face Detection System on Ada boost Algorithm Using Haar Classifiers M. Gopi Krishna, A. Srinivasulu, Prof (Dr.) T.K.Basak 1, 2 Department of Electronics

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Lecture # 5 Image Enhancement in Spatial Domain- I ALI JAVED Lecturer SOFTWARE ENGINEERING DEPARTMENT U.E.T TAXILA Email:: ali.javed@uettaxila.edu.pk Office Room #:: 7 Presentation

More information

APPLICATION OF COMPUTER VISION FOR DETERMINATION OF SYMMETRICAL OBJECT POSITION IN THREE DIMENSIONAL SPACE

APPLICATION OF COMPUTER VISION FOR DETERMINATION OF SYMMETRICAL OBJECT POSITION IN THREE DIMENSIONAL SPACE APPLICATION OF COMPUTER VISION FOR DETERMINATION OF SYMMETRICAL OBJECT POSITION IN THREE DIMENSIONAL SPACE Najirah Umar 1 1 Jurusan Teknik Informatika, STMIK Handayani Makassar Email : najirah_stmikh@yahoo.com

More information

GENERALIZATION: RANK ORDER FILTERS

GENERALIZATION: RANK ORDER FILTERS GENERALIZATION: RANK ORDER FILTERS Definition For simplicity and implementation efficiency, we consider only brick (rectangular: wf x hf) filters. A brick rank order filter evaluates, for every pixel in

More information

CS534 Introduction to Computer Vision. Linear Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University

CS534 Introduction to Computer Vision. Linear Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University CS534 Introduction to Computer Vision Linear Filters Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines What are Filters Linear Filters Convolution operation Properties of Linear Filters

More information

1.Discuss the frequency domain techniques of image enhancement in detail.

1.Discuss the frequency domain techniques of image enhancement in detail. 1.Discuss the frequency domain techniques of image enhancement in detail. Enhancement In Frequency Domain: The frequency domain methods of image enhancement are based on convolution theorem. This is represented

More information

Digital Image Processing Lec.(3) 4 th class

Digital Image Processing Lec.(3) 4 th class Digital Image Processing Lec.(3) 4 th class Image Types The image types we will consider are: 1. Binary Images Binary images are the simplest type of images and can take on two values, typically black

More information

Computer Graphics Fundamentals

Computer Graphics Fundamentals Computer Graphics Fundamentals Jacek Kęsik, PhD Simple converts Rotations Translations Flips Resizing Geometry Rotation n * 90 degrees other Geometry Rotation n * 90 degrees other Geometry Translations

More information

Color Space 1: RGB Color Space. Color Space 2: HSV. RGB Cube Easy for devices But not perceptual Where do the grays live? Where is hue and saturation?

Color Space 1: RGB Color Space. Color Space 2: HSV. RGB Cube Easy for devices But not perceptual Where do the grays live? Where is hue and saturation? Color Space : RGB Color Space Color Space 2: HSV RGB Cube Easy for devices But not perceptual Where do the grays live? Where is hue and saturation? Hue, Saturation, Value (Intensity) RBG cube on its vertex

More information

More image filtering , , Computational Photography Fall 2017, Lecture 4

More image filtering , , Computational Photography Fall 2017, Lecture 4 More image filtering http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2017, Lecture 4 Course announcements Any questions about Homework 1? - How many of you

More information

Student Attendance Monitoring System Via Face Detection and Recognition System

Student Attendance Monitoring System Via Face Detection and Recognition System IJSTE - International Journal of Science Technology & Engineering Volume 2 Issue 11 May 2016 ISSN (online): 2349-784X Student Attendance Monitoring System Via Face Detection and Recognition System Pinal

More information

Implementation of Barcode Localization Technique using Morphological Operations

Implementation of Barcode Localization Technique using Morphological Operations Implementation of Barcode Localization Technique using Morphological Operations Savreet Kaur Student, Master of Technology, Department of Computer Engineering, ABSTRACT Barcode Localization is an extremely

More information

Institute of Technology, Carlow CW228. Project Report. Project Title: Number Plate f Recognition. Name: Dongfan Kuang f. Login ID: C f

Institute of Technology, Carlow CW228. Project Report. Project Title: Number Plate f Recognition. Name: Dongfan Kuang f. Login ID: C f Institute of Technology, Carlow B.Sc. Hons. in Software Engineering CW228 Project Report Project Title: Number Plate f Recognition f Name: Dongfan Kuang f Login ID: C00131031 f Supervisor: Nigel Whyte

More information

Image Enhancement in Spatial Domain

Image Enhancement in Spatial Domain Image Enhancement in Spatial Domain 2 Image enhancement is a process, rather a preprocessing step, through which an original image is made suitable for a specific application. The application scenarios

More information

CoE4TN4 Image Processing. Chapter 3: Intensity Transformation and Spatial Filtering

CoE4TN4 Image Processing. Chapter 3: Intensity Transformation and Spatial Filtering CoE4TN4 Image Processing Chapter 3: Intensity Transformation and Spatial Filtering Image Enhancement Enhancement techniques: to process an image so that the result is more suitable than the original image

More information

VEHICLE LICENSE PLATE DETECTION ALGORITHM BASED ON STATISTICAL CHARACTERISTICS IN HSI COLOR MODEL

VEHICLE LICENSE PLATE DETECTION ALGORITHM BASED ON STATISTICAL CHARACTERISTICS IN HSI COLOR MODEL VEHICLE LICENSE PLATE DETECTION ALGORITHM BASED ON STATISTICAL CHARACTERISTICS IN HSI COLOR MODEL Instructor : Dr. K. R. Rao Presented by: Prasanna Venkatesh Palani (1000660520) prasannaven.palani@mavs.uta.edu

More information

CHARACTERS RECONGNIZATION OF AUTOMOBILE LICENSE PLATES ON THE DIGITAL IMAGE Rajasekhar Junjunuri* 1, Sandeep Kotta 1

CHARACTERS RECONGNIZATION OF AUTOMOBILE LICENSE PLATES ON THE DIGITAL IMAGE Rajasekhar Junjunuri* 1, Sandeep Kotta 1 ISSN 2277-2685 IJESR/May 2015/ Vol-5/Issue-5/302-309 Rajasekhar Junjunuri et. al./ International Journal of Engineering & Science Research CHARACTERS RECONGNIZATION OF AUTOMOBILE LICENSE PLATES ON THE

More information

Vehicle Number Plate Recognition with Bilinear Interpolation and Plotting Horizontal and Vertical Edge Processing Histogram with Sound Signals

Vehicle Number Plate Recognition with Bilinear Interpolation and Plotting Horizontal and Vertical Edge Processing Histogram with Sound Signals Vehicle Number Plate Recognition with Bilinear Interpolation and Plotting Horizontal and Vertical Edge Processing Histogram with Sound Signals Aarti 1, Dr. Neetu Sharma 2 1 DEPArtment Of Computer Science

More information

Exercise questions for Machine vision

Exercise questions for Machine vision Exercise questions for Machine vision This is a collection of exercise questions. These questions are all examination alike which means that similar questions may appear at the written exam. I ve divided

More information

Carmen Alonso Montes 23rd-27th November 2015

Carmen Alonso Montes 23rd-27th November 2015 Practical Computer Vision: Theory & Applications calonso@bcamath.org 23rd-27th November 2015 Alternative Software Alternative software to matlab Octave Available for Linux, Mac and windows For Mac and

More information

EMGU CV. Prof. Gordon Stein Spring Lawrence Technological University Computer Science Robofest

EMGU CV. Prof. Gordon Stein Spring Lawrence Technological University Computer Science Robofest EMGU CV Prof. Gordon Stein Spring 2018 Lawrence Technological University Computer Science Robofest Creating the Project In Visual Studio, create a new Windows Forms Application (Emgu works with WPF and

More information

3DExplorer Quickstart. Introduction Requirements Getting Started... 4

3DExplorer Quickstart. Introduction Requirements Getting Started... 4 Page 1 of 43 Table of Contents Introduction... 2 Requirements... 3 Getting Started... 4 The 3DExplorer User Interface... 6 Description of the GUI Panes... 6 Description of the 3D Explorer Headbar... 7

More information

Deep Green. System for real-time tracking and playing the board game Reversi. Final Project Submitted by: Nadav Erell

Deep Green. System for real-time tracking and playing the board game Reversi. Final Project Submitted by: Nadav Erell Deep Green System for real-time tracking and playing the board game Reversi Final Project Submitted by: Nadav Erell Introduction to Computational and Biological Vision Department of Computer Science, Ben-Gurion

More information

Combined Approach for Face Detection, Eye Region Detection and Eye State Analysis- Extended Paper

Combined Approach for Face Detection, Eye Region Detection and Eye State Analysis- Extended Paper International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 10, Issue 9 (September 2014), PP.57-68 Combined Approach for Face Detection, Eye

More information

8.2 IMAGE PROCESSING VERSUS IMAGE ANALYSIS Image processing: The collection of routines and

8.2 IMAGE PROCESSING VERSUS IMAGE ANALYSIS Image processing: The collection of routines and 8.1 INTRODUCTION In this chapter, we will study and discuss some fundamental techniques for image processing and image analysis, with a few examples of routines developed for certain purposes. 8.2 IMAGE

More information

COMPARATIVE PERFORMANCE ANALYSIS OF HAND GESTURE RECOGNITION TECHNIQUES

COMPARATIVE PERFORMANCE ANALYSIS OF HAND GESTURE RECOGNITION TECHNIQUES International Journal of Advanced Research in Engineering and Technology (IJARET) Volume 9, Issue 3, May - June 2018, pp. 177 185, Article ID: IJARET_09_03_023 Available online at http://www.iaeme.com/ijaret/issues.asp?jtype=ijaret&vtype=9&itype=3

More information

Instruction Manual. Mark Deimund, Zuyi (Jacky) Huang, Juergen Hahn

Instruction Manual. Mark Deimund, Zuyi (Jacky) Huang, Juergen Hahn Instruction Manual Mark Deimund, Zuyi (Jacky) Huang, Juergen Hahn This manual is for the program that implements the image analysis method presented in our paper: Z. Huang, F. Senocak, A. Jayaraman, and

More information

Using the Advanced Sharpen Transformation

Using the Advanced Sharpen Transformation Using the Advanced Sharpen Transformation Written by Jonathan Sachs Revised 10 Aug 2014 Copyright 2002-2014 Digital Light & Color Introduction Picture Window Pro s Advanced Sharpen transformation is a

More information

SCIENCE & TECHNOLOGY

SCIENCE & TECHNOLOGY Pertanika J. Sci. & Technol. 25 (S): 163-172 (2017) SCIENCE & TECHNOLOGY Journal homepage: http://www.pertanika.upm.edu.my/ Performance Comparison of Min-Max Normalisation on Frontal Face Detection Using

More information

Digital Image Processing. Lecture # 4 Image Enhancement (Histogram)

Digital Image Processing. Lecture # 4 Image Enhancement (Histogram) Digital Image Processing Lecture # 4 Image Enhancement (Histogram) 1 Histogram of a Grayscale Image Let I be a 1-band (grayscale) image. I(r,c) is an 8-bit integer between 0 and 255. Histogram, h I, of

More information

Applying mathematics to digital image processing using a spreadsheet

Applying mathematics to digital image processing using a spreadsheet Jeff Waldock Applying mathematics to digital image processing using a spreadsheet Jeff Waldock Department of Engineering and Mathematics Sheffield Hallam University j.waldock@shu.ac.uk Introduction When

More information

Automated License Plate Recognition for Toll Booth Application

Automated License Plate Recognition for Toll Booth Application RESEARCH ARTICLE OPEN ACCESS Automated License Plate Recognition for Toll Booth Application Ketan S. Shevale (Department of Electronics and Telecommunication, SAOE, Pune University, Pune) ABSTRACT This

More information

NON UNIFORM BACKGROUND REMOVAL FOR PARTICLE ANALYSIS BASED ON MORPHOLOGICAL STRUCTURING ELEMENT:

NON UNIFORM BACKGROUND REMOVAL FOR PARTICLE ANALYSIS BASED ON MORPHOLOGICAL STRUCTURING ELEMENT: IJCE January-June 2012, Volume 4, Number 1 pp. 59 67 NON UNIFORM BACKGROUND REMOVAL FOR PARTICLE ANALYSIS BASED ON MORPHOLOGICAL STRUCTURING ELEMENT: A COMPARATIVE STUDY Prabhdeep Singh1 & A. K. Garg2

More information

Morphological Image Processing Approach of Vehicle Detection for Real-Time Traffic Analysis

Morphological Image Processing Approach of Vehicle Detection for Real-Time Traffic Analysis Morphological Image Processing Approach of Vehicle Detection for Real-Time Traffic Analysis Prutha Y M *1, Department Of Computer Science and Engineering Affiliated to VTU Belgaum, Karnataka Rao Bahadur

More information

Automatics Vehicle License Plate Recognition using MATLAB

Automatics Vehicle License Plate Recognition using MATLAB Automatics Vehicle License Plate Recognition using MATLAB Alhamzawi Hussein Ali mezher Faculty of Informatics/University of Debrecen Kassai ut 26, 4028 Debrecen, Hungary. Abstract - The objective of this

More information

EE482: Digital Signal Processing Applications

EE482: Digital Signal Processing Applications Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu EE482: Digital Signal Processing Applications Spring 2014 TTh 14:30-15:45 CBC C222 Lecture 15 Image Processing 14/04/15 http://www.ee.unlv.edu/~b1morris/ee482/

More information

2. Color spaces Introduction The RGB color space

2. Color spaces Introduction The RGB color space Image Processing - Lab 2: Color spaces 1 2. Color spaces 2.1. Introduction The purpose of the second laboratory work is to teach the basic color manipulation techniques, applied to the bitmap digital images.

More information

Images and Graphics. 4. Images and Graphics - Copyright Denis Hamelin - Ryerson University

Images and Graphics. 4. Images and Graphics - Copyright Denis Hamelin - Ryerson University Images and Graphics Images and Graphics Graphics and images are non-textual information that can be displayed and printed. Graphics (vector graphics) are an assemblage of lines, curves or circles with

More information

Chapter 12 Image Processing

Chapter 12 Image Processing Chapter 12 Image Processing The distance sensor on your self-driving car detects an object 100 m in front of your car. Are you following the car in front of you at a safe distance or has a pedestrian jumped

More information

Multimedia Systems Image II (Image Enhancement) Mahdi Amiri April 2012 Sharif University of Technology

Multimedia Systems Image II (Image Enhancement) Mahdi Amiri April 2012 Sharif University of Technology Course Presentation Multimedia Systems Image II (Image Enhancement) Mahdi Amiri April 2012 Sharif University of Technology Image Enhancement Have seen so far Gamma Correction Histogram Equalization Page

More information

Implementation of License Plate Recognition System in ARM Cortex A8 Board

Implementation of License Plate Recognition System in ARM Cortex A8 Board www..org 9 Implementation of License Plate Recognition System in ARM Cortex A8 Board S. Uma 1, M.Sharmila 2 1 Assistant Professor, 2 Research Scholar, Department of Electrical and Electronics Engg, College

More information

Digital Image Processing 3/e

Digital Image Processing 3/e Laboratory Projects for Digital Image Processing 3/e by Gonzalez and Woods 2008 Prentice Hall Upper Saddle River, NJ 07458 USA www.imageprocessingplace.com The following sample laboratory projects are

More information

Preprocessing and Segregating Offline Gujarati Handwritten Datasheet for Character Recognition

Preprocessing and Segregating Offline Gujarati Handwritten Datasheet for Character Recognition Preprocessing and Segregating Offline Gujarati Handwritten Datasheet for Character Recognition Hetal R. Thaker Atmiya Institute of Technology & science, Kalawad Road, Rajkot Gujarat, India C. K. Kumbharana,

More information

Computer Graphics (CS/ECE 545) Lecture 7: Morphology (Part 2) & Regions in Binary Images (Part 1)

Computer Graphics (CS/ECE 545) Lecture 7: Morphology (Part 2) & Regions in Binary Images (Part 1) Computer Graphics (CS/ECE 545) Lecture 7: Morphology (Part 2) & Regions in Binary Images (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: Dilation Example

More information

DIGITAL IMAGE PROCESSING (COM-3371) Week 2 - January 14, 2002

DIGITAL IMAGE PROCESSING (COM-3371) Week 2 - January 14, 2002 DIGITAL IMAGE PROCESSING (COM-3371) Week 2 - January 14, 22 Topics: Human eye Visual phenomena Simple image model Image enhancement Point processes Histogram Lookup tables Contrast compression and stretching

More information

Vision Review: Image Processing. Course web page:

Vision Review: Image Processing. Course web page: Vision Review: Image Processing Course web page: www.cis.udel.edu/~cer/arv September 7, Announcements Homework and paper presentation guidelines are up on web page Readings for next Tuesday: Chapters 6,.,

More information

Histograms and Color Balancing

Histograms and Color Balancing Histograms and Color Balancing 09/14/17 Empire of Light, Magritte Computational Photography Derek Hoiem, University of Illinois Administrative stuff Project 1: due Monday Part I: Hybrid Image Part II:

More information

Image Capture and Problems

Image Capture and Problems Image Capture and Problems A reasonable capture IVR Vision: Flat Part Recognition Fisher lecture 4 slide 1 Image Capture: Focus problems Focus set to one distance. Nearby distances in focus (depth of focus).

More information

Proposed Method for Off-line Signature Recognition and Verification using Neural Network

Proposed Method for Off-line Signature Recognition and Verification using Neural Network e-issn: 2349-9745 p-issn: 2393-8161 Scientific Journal Impact Factor (SJIF): 1.711 International Journal of Modern Trends in Engineering and Research www.ijmter.com Proposed Method for Off-line Signature

More information

Digital image processing. Árpád BARSI BME Dept. Photogrammetry and Geoinformatics

Digital image processing. Árpád BARSI BME Dept. Photogrammetry and Geoinformatics Digital image processing Árpád BARSI BME Dept. Photogrammetry and Geoinformatics barsi.arpad@epito.bme.hu Part 1: (5/12/) Theory of image processing Part 2: (12/12/) Practice with software examples Main

More information

CROWD ANALYSIS WITH FISH EYE CAMERA

CROWD ANALYSIS WITH FISH EYE CAMERA CROWD ANALYSIS WITH FISH EYE CAMERA Huseyin Oguzhan Tevetoglu 1 and Nihan Kahraman 2 1 Department of Electronic and Communication Engineering, Yıldız Technical University, Istanbul, Turkey 1 Netaş Telekomünikasyon

More information

MATLAB 6.5 Image Processing Toolbox Tutorial

MATLAB 6.5 Image Processing Toolbox Tutorial MATLAB 6.5 Image Processing Toolbox Tutorial The purpose of this tutorial is to gain familiarity with MATLAB s Image Processing Toolbox. This tutorial does not contain all of the functions available in

More information

Digital Image Processing. Lecture # 3 Image Enhancement

Digital Image Processing. Lecture # 3 Image Enhancement Digital Image Processing Lecture # 3 Image Enhancement 1 Image Enhancement Image Enhancement 3 Image Enhancement 4 Image Enhancement Process an image so that the result is more suitable than the original

More information

Fundamentals of Multimedia

Fundamentals of Multimedia Fundamentals of Multimedia Lecture 2 Graphics & Image Data Representation Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Outline Black & white imags 1 bit images 8-bit gray-level images Image histogram Dithering

More information

A Review of Optical Character Recognition System for Recognition of Printed Text

A Review of Optical Character Recognition System for Recognition of Printed Text IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 17, Issue 3, Ver. II (May Jun. 2015), PP 28-33 www.iosrjournals.org A Review of Optical Character Recognition

More information

Project One Report. Sonesh Patel Data Structures

Project One Report. Sonesh Patel Data Structures Project One Report Sonesh Patel 09.06.2018 Data Structures ASSIGNMENT OVERVIEW In programming assignment one, we were required to manipulate images to create a variety of different effects. The focus of

More information

DodgeCmd Image Dodging Algorithm A Technical White Paper

DodgeCmd Image Dodging Algorithm A Technical White Paper DodgeCmd Image Dodging Algorithm A Technical White Paper July 2008 Intergraph ZI Imaging 170 Graphics Drive Madison, AL 35758 USA www.intergraph.com Table of Contents ABSTRACT...1 1. INTRODUCTION...2 2.

More information

Image Processing for feature extraction

Image Processing for feature extraction Image Processing for feature extraction 1 Outline Rationale for image pre-processing Gray-scale transformations Geometric transformations Local preprocessing Reading: Sonka et al 5.1, 5.2, 5.3 2 Image

More information

Image Processing. Adam Finkelstein Princeton University COS 426, Spring 2019

Image Processing. Adam Finkelstein Princeton University COS 426, Spring 2019 Image Processing Adam Finkelstein Princeton University COS 426, Spring 2019 Image Processing Operations Luminance Brightness Contrast Gamma Histogram equalization Color Grayscale Saturation White balance

More information

Histogram equalization

Histogram equalization Histogram equalization Contents Background... 2 Procedure... 3 Page 1 of 7 Background To understand histogram equalization, one must first understand the concept of contrast in an image. The contrast is

More information

Wadehra Kartik, Kathpalia Mukul, Bahl Vasudha, International Journal of Advance Research, Ideas and Innovations in Technology

Wadehra Kartik, Kathpalia Mukul, Bahl Vasudha, International Journal of Advance Research, Ideas and Innovations in Technology ISSN: 2454-132X Impact factor: 4.295 (Volume 4, Issue 1) Available online at www.ijariit.com Hand Detection and Gesture Recognition in Real-Time Using Haar-Classification and Convolutional Neural Networks

More information

Finger print Recognization. By M R Rahul Raj K Muralidhar A Papi Reddy

Finger print Recognization. By M R Rahul Raj K Muralidhar A Papi Reddy Finger print Recognization By M R Rahul Raj K Muralidhar A Papi Reddy Introduction Finger print recognization system is under biometric application used to increase the user security. Generally the biometric

More information

Automatic Electricity Meter Reading Based on Image Processing

Automatic Electricity Meter Reading Based on Image Processing Automatic Electricity Meter Reading Based on Image Processing Lamiaa A. Elrefaei *,+,1, Asrar Bajaber *,2, Sumayyah Natheir *,3, Nada AbuSanab *,4, Marwa Bazi *,5 * Computer Science Department Faculty

More information

CS 376b Computer Vision

CS 376b Computer Vision CS 376b Computer Vision 09 / 03 / 2014 Instructor: Michael Eckmann Today s Topics This is technically a lab/discussion session, but I'll treat it as a lecture today. Introduction to the course layout,

More information

PRACTICAL IMAGE AND VIDEO PROCESSING USING MATLAB

PRACTICAL IMAGE AND VIDEO PROCESSING USING MATLAB PRACTICAL IMAGE AND VIDEO PROCESSING USING MATLAB OGE MARQUES Florida Atlantic University *IEEE IEEE PRESS WWILEY A JOHN WILEY & SONS, INC., PUBLICATION CONTENTS LIST OF FIGURES LIST OF TABLES FOREWORD

More information

The Use of Non-Local Means to Reduce Image Noise

The Use of Non-Local Means to Reduce Image Noise The Use of Non-Local Means to Reduce Image Noise By Chimba Chundu, Danny Bin, and Jackelyn Ferman ABSTRACT Digital images, such as those produced from digital cameras, suffer from random noise that is

More information